当前位置: 首页 > news >正文

网站制作职责微博推广有用吗

网站制作职责,微博推广有用吗,做网站建设业务员好吗,网站建设方案书1.388. 文件的最长绝对路径 - 力扣(LeetCode) 其实看懂了就还好 用一个栈来保存所遍历过最大的文件的绝对路径的长度,栈顶元素是文件的长度,栈中元素的个数是该文件目录的深度,非栈顶元素就是当时目录的长度 检查此…
1.388. 文件的最长绝对路径 - 力扣(LeetCode)

其实看懂了就还好 

用一个栈来保存所遍历过最大的文件的绝对路径的长度,栈顶元素是文件的长度,栈中元素的个数是该文件目录的深度,非栈顶元素就是当时目录的长度

检查此时所所遍历的目录的深度,看有多少个 "\t",因为根目录是第一级,所以深度从1开始计算而不是从0开始计算

再来判断文件的长度,遇到 “\n”,就代表文件遍历完了,要换一层目录,遇到pos > n说明遍历完辣

然后检查一下之前有没有遍历过深度更大的文件,写的时候这里半天没搞懂,报一丝

具体用 st.size() 与 depth 之间的大小关系判断,如果st.size() >= depth 说明曾经遍历过深度更大的文件。

等一下,我又发现我理解错了,这个栈的作用不是我所理解的保存文件绝对路径的长度,他是用来帮助计算此时所遍历到的文件的长度,然后每次更新ans值记录最大的长度。

怎么正确计算呢,话接上文,曾经遍历过深度更大的目录或文件,说明此时所遍历的文件或者是此时所在的目录发生了路径跳转,不是那个深度更大的目录或是文件了,栈中包含的不必要的更深层的长度信息,但是我们要计算的是此时所在文件或是目录的路径长度。所以就回退,回退到上一级目录,也是它俩的共同父亲目录,去计算长度信息。

class Solution {
public:int lengthLongestPath(string input) {int n = input.size();int pos = 0, ans = 0;stack<int> st;while(pos < n){// 统计当前文件深度int depth = 1;while(pos < n && input[pos] == '\t'){depth++, pos++;}//统计文件夹的长度int len = 0;bool flag = false;while(pos < n && input[pos] != '\n'){if(input[pos] == '.'){flag = true;}pos++, len++;}//跳过换行符pos++;//计算长度if(st.size() >= depth){st.pop();}//加上前面的目录路径if(!st.empty()){len += st.top() + 1;}if(flag)ans = max(ans, len);st.emplace(len);}return ans;}
};

http://www.hkea.cn/news/829156/

相关文章:

  • 建设一个网站哪家好网站推广优化的原因
  • 做网站的上海公司有哪些情感链接
  • 梧州做网站建设数字营销公司
  • 加强新闻网站建设建议seo高手培训
  • 安丘网站建设制作怎样制作网页设计
  • 食品网站建设优化案例热门职业培训班
  • 龙华新区做网站大地seo视频
  • 网站彩票投注员做啥的真正免费的网站建站平台运营
  • wordpress 中文注册鸡西seo
  • 佛山企业如何建网站seo的内容怎么优化
  • 在什么网站上做自媒体windows优化大师是自带的吗
  • 装修公司的网站怎么做第三方营销平台有哪些
  • 百度公司做网站吗手机网页链接制作
  • 武汉移动网站制作今天新闻最新消息
  • 酒泉建设厅网站百度seo刷排名软件
  • 天津个人网站建设yandex引擎
  • 网站改版建设 有哪些内容网络营销策划方案怎么做
  • 网站建设拾金手指下拉seo的实现方式
  • 北京宣传片湖南seo优化哪家好
  • 下载app 的网站 如何做黑帽seo排名技术
  • 个人是否做众筹网站哪里可以免费推广广告
  • 外贸网站该怎么做青岛百度推广优化怎么做的
  • 网站建设中 网页代码优化关键词排名公司
  • 网站标题优化怎么做泉州百度首页优化
  • 学习网站建设的是什么专业优化网站排名公司
  • 固定ip做网站西安网站建设推广
  • 做响应式网站好不好软文发布门户网站
  • 重庆做网站建设的公司哪家好最基本的网站设计
  • 长春网站制作wang网站营销软文
  • discuz 网站搬家市场营销的策划方案