给定一个表示目录的字符串,统计绝对路径文件名长度。
来源:互联网 发布:淘宝关键词搜索量 编辑:程序博客网 时间:2024/06/06 09:23
本题源自leetcode 388
----------------------------------------------------
思路: 1 用一个dp数组记录每一层最大长度。然后遍历字符串,遇到 \t 表明层数, \n表示 新的一层。然后开始统计文件名长度。
代码:
int lengthLongestPath(string input) { int n = input.size(); if(n == 0) return 0; int count = 0; int level = 1; int isFile = false; int res = 0; vector<int> dp(20,0); //记录当前目录层的最大长度 for(int i = 0; i < n; i++){ while(i < n && input[i] == '\t'){ //记录当前是第几层目录 level++; i++; } while(i < n && input[i] != '\n'){ //统计文件名长度 if(input[i] == '.') isFile = true; count++; i++; } if(isFile){ //是文件 res = max(res,dp[level-1]+count); }else{ dp[level] = dp[level-1] + count + 1; //1 表示目录 / } //遍历一个层后需要重置 count = 0; level = 1; isFile = false; } return res; }
代码2:
int lengthLongestPath(string input) { int n = input.size(); if(n == 0) return 0; int res = 0; int count = 0; int depth = 0; int isDir = 1; vector<int> dp; for(int i = 0; i <= n; i++){ switch(input[i]){ case '\0': case '\n':{ if(!depth) count += isDir; else count += dp[depth-1] + isDir; if(dp.size() > depth) dp[depth] = count; else dp.push_back(count); if(!isDir) res = max(res,count); count = 0; depth = 0; isDir = 1; break; } case '\t': depth++; break; case '.': isDir = 0; default: count++; } } return res; }
阅读全文
0 0
- 给定一个表示目录的字符串,统计绝对路径文件名长度。
- 给定一个目录,要求按照层次显示目录结构信息,文件名后面加上*或\来表示文件夹
- 给定一个字符串str,返回str的统计字符串
- 一个不给定长度的字符串数组如何判断结束
- 统计字符串的长度
- 统计字符串的长度
- 字符串统计--对于给定的一个字符串,统计其中数字字符出现的次数。
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 统计一个字符串的最后单词的长度
- 大数乘法。给定两个数字表示为字符串,返回乘数的数字作为一个字符串。
- 给定一个字符串,返回字符串中没有重复字符的最长子串的长度
- Length of Last Word 统计最后一个字符串的长度
- 给定一个字符串。求最长的无重复子字符串长度。
- 根据给定的字节长度截取字符串
- 求给定字符串的平均字符长度
- 给定的字符串按着给定的截取长度截取
- 按给定的长度格式,格式化存储给定的字符串
- 给定一个正整数的二进制表示
- JVM实用参数(四)内存调优
- 目录——Web第二阶段:CSS
- BFC(边距塌陷)
- Maven 默认插件以及功能
- React之高阶组件
- 给定一个表示目录的字符串,统计绝对路径文件名长度。
- CentOs搭建jdk,tomcat,mysql
- MySQL解压安装步骤
- 删除时bug:Unknown return value type: java.lang.Integer
- thinkphp5+workerman+layim 在线客服系统
- Save your cats Aizu
- linux常用命令 ls等
- webview 那些事儿
- 数据库优化方法借鉴