LeetCode 395 Longest Substring with At Least K Repeating Characters
来源:互联网 发布:mysql数据库存储过程 编辑:程序博客网 时间:2024/06/16 05:17
Find the length of the longest substring T of a given string (consists of lowercase letters only) such that every character in T appears no less than k times.
Example 1:
Input:s = "aaabb", k = 3Output:3The longest substring is "aaa", as 'a' is repeated 3 times.
Example 2:
Input:s = "ababbc", k = 2Output:5The longest substring is "ababb", as 'a' is repeated 2 times and 'b' is repeated 3 times.
Runtime: 3 ms
public int longestSubstring(String s, int k) {if (s == null || s.length() == 0) return 0;int[] nums = new int[26];char[] chars = s.toCharArray();for (char c : chars) nums[c - 'a']++;boolean valid = false, flag = false;for (int num : nums) {if (num >= k) valid = true;if (num > 0 && num < k) flag = true;if (valid && flag) break;}if (!valid) return 0;// invalid: no char in s appears >= k times.if (!flag) return s.length();//!flag: every char appears >= k times.int max = 0, start = 0, cur = 0;for (int i = 0; i < s.length(); i++) {if (nums[chars[i] - 'a'] < k) {max = Math.max(max, longestSubstring(s.substring(start, i), k));start = i + 1;}}max = Math.max(max, longestSubstring(s.substring(start), k));return max;}
0 0
- LeetCode[395] Longest Substring with At Least K Repeating Characters
- LeetCode 395 Longest Substring with At Least K Repeating Characters
- 【Leetcode】395. Longest Substring with At Least K Repeating Characters
- leetcode 395. Longest Substring with At Least K Repeating Characters
- [LeetCode] 395. Longest Substring with At Least K Repeating Characters
- LeetCode 395. Longest Substring with At Least K Repeating Characters
- 【LeetCode】 395. Longest Substring with At Least K Repeating Characters
- [LeetCode]395. Longest Substring with At Least K Repeating Characters
- 【Leetcode】395. Longest Substring with At Least K Repeating Characters
- Leetcode-395. Longest Substring with At Least K Repeating Characters
- [leetcode]395. Longest Substring with At Least K Repeating Characters
- Leetcode 395. Longest Substring with At Least K Repeating Characters
- [LeetCode]395. Longest Substring with At Least K Repeating Characters
- LeetCode No.395 Longest Substring with At Least K Repeating Characters
- 395. Longest Substring with At Least K Repeating Characters
- 395. Longest Substring with At Least K Repeating Characters
- Longest Substring with At Least K Repeating Characters
- 395. Longest Substring with At Least K Repeating Characters
- linux的一些配置方法
- HDU2602-01背包基础
- Easyui 表单验证
- HDU1248-寒冰王座
- JS跳转页面的方法总结
- LeetCode 395 Longest Substring with At Least K Repeating Characters
- IOS Present View Controller 详解
- 非标自动化设备开发流程
- 薪金问题中的四舍五入算法的实现
- leetcode之389. Find the Difference(C++解法)
- 文章标题 UVALive 7035: Built with Qinghuai and Ari Factor(水)
- CodeForces 236 B. Easy Number Challenge
- hdu5875 Function(暴力)
- 设计模式(2)-抽象工厂模式(Abstract Factory)