原文链接: https://leetcode-cn.com/problems/last-substring-in-lexicographical-order
英文原文
Given a string s
, return the last substring of s
in lexicographical order.
Example 1:
Input: s = "abab" Output: "bab" Explanation: The substrings are ["a", "ab", "aba", "abab", "b", "ba", "bab"]. The lexicographically maximum substring is "bab".
Example 2:
Input: s = "leetcode" Output: "tcode"
Constraints:
1 <= s.length <= 4 * 105
s
contains only lowercase English letters.
中文题目
给你一个字符串 s
,找出它的所有子串并按字典序排列,返回排在最后的那个子串。
示例 1:
输入:"abab" 输出:"bab" 解释:我们可以找出 7 个子串 ["a", "ab", "aba", "abab", "b", "ba", "bab"]。按字典序排在最后的子串是 "bab"。
示例 2:
输入:"leetcode" 输出:"tcode"
提示:
1 <= s.length <= 4 * 10^5
- s 仅含有小写英文字符。
通过代码
高赞题解
char * lastSubstring(char * s){
int len = strlen(s);
int ans = 0;
for (int i = 1; i < len; i++) {
if (s[i] <= s[i - 1]) {
continue;
}
if (strcmp(&s[i], &s[ans]) > 0) {
ans = i;
}
}
return &s[ans];
}
统计信息
通过次数 | 提交次数 | AC比率 |
---|---|---|
6124 | 22888 | 26.8% |
提交历史
提交时间 | 提交结果 | 执行时间 | 内存消耗 | 语言 |
---|