The problems contains:
- Lexicographical Numbers
- First Unique Character in a String
- Longest Absolute File Path
386. Lexicographical Numbers
Given an integer n, return 1 - n in lexicographical order.
For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9].
Please optimize your algorithm to use less time and space. The input size may be as large as 5,000,000.
题目地址:leetcode Lexicographical Numbers
题意:给定整数n,返回1~n的所有数字组成的集合,要求按照字典的顺序
思路:写一个生成器即可。比如1的我们就试试10 100这样
1 | class Solution(object): |
387. First Unique Character in a String
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
1
2
3
4
5 s = "leetcode"
return 0.
s = "loveleetcode",
return 2.Note: You may assume the string contain only lowercase letters.
题目地址:leetcode First Unique Character in a String
题意:给定一个仅由小写字母组成的字符串,寻找第一个只在字符串中出现的字母的下标
思路:水。 我懒得自己写26大小的数组来统计了。直接Counter类。 毕竟要看女排 →_→
1 | class Solution(object): |
388. Longest Absolute File Path
Suppose we abstract our file system by a string in the following manner:
The string
"dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext"
represents:
1
2
3
4 dir
subdir1
subdir2
file.extThe directory
dir
contains an empty sub-directorysubdir1
and a sub-directorysubdir2
containing a filefile.ext
.The string
"dir\n\tsubdir1\n\t\tfile1.ext\n\t\tsubsubdir1\n\tsubdir2\n\t\tsubsubdir2\n\t\t\tfile2.ext"
represents:
1
2
3
4
5
6
7 dir
subdir1
file1.ext
subsubdir1
subdir2
subsubdir2
file2.extThe directory
dir
contains two sub-directoriessubdir1
andsubdir2
.subdir1
contains a filefile1.ext
and an empty second-level sub-directorysubsubdir1
.subdir2
contains a second-level sub-directorysubsubdir2
containing a filefile2.ext
.We are interested in finding the longest (number of characters) absolute path to a file within our file system. For example, in the second example above, the longest absolute path is
"dir/subdir2/subsubdir2/file2.ext"
, and its length is32
(not including the double quotes).Given a string representing the file system in the above format, return the length of the longest absolute path to file in the abstracted file system. If there is no file in the system, return
0
.Note:
- The name of a file contains at least a
.
and an extension.- The name of a directory or sub-directory will not contain a
.
.Time complexity required:
O(n)
wheren
is the size of the input string.Notice that
a/aa/aaa/file1.txt
is not the longest file path, if there is another pathaaaaaaaaaaaaaaaaaaaaa/sth.png
.
题目地址:leetcode Longest Absolute File Path
题意:给定一串路径,求最长的文件路径。
思路:
这题大概就是记录一下上一层目录在哪结尾的,换新的目录就替换一下。(t_cnt为),当然这个过程也可以用栈来做。
注意,一定是要文件!目录不行!
下面是我当时为了看女排比赛写的代码,没有优化- -
1 | class Solution(object): |
上述的模拟过程可以用如下的代码替代(并且不用构造串,直接记录长度),比我的简洁太多 Orz 一下 StefanPochmann
1 | class Solution(object): |
本次是下面几道题的题解
- leetcode 386. Lexicographical Numbers
- leetcode 387. First Unique Character in a String
- leetcode 388. Longest Absolute File Path
更多题解可以查看:https://www.hrwhisper.me/leetcode-algorithm-solution/