LeetCode周简报1,重复的情况没有减掉,
分享于 点击 37006 次 点评:116
LeetCode周简报1,重复的情况没有减掉,
每日一题
Day1
最长和谐子序列(594)
class Solution {
public int findLHS(int[] nums) {
Arrays.sort(nums);
int lef = 0;
int res = 0;
for (int rig = 0; rig < nums.length; rig++){
while(nums[rig] - nums[lef] > 1) lef++;
if (nums[rig] - nums[lef] == 1) res = Math.max(res, rig -lef + 1);
}
return res;
}
}
- 分析
先对序列进行排序,通过双指针维护序列 时间复杂度 O(nlogn + n)
后来想了一下,长度其实就是 sum(num) + sum(num+1)
,可以通过Hash解决
Day2
找到初始输入字符串I(3330)
class Solution {
public int possibleStringCount(String word) {
int res = 0;
char curr = word.charAt(0);
for (char c : word.toCharArray()){
if (curr == c) res++;
curr = c;
}
return res;
}
}
- 分析
很简单,就是全排列
每一个多输入的字符都可能是输错了
Day3
失败了
找到初始输入字符串II(3333)
- 分析
我本来想的是排列组合嘛,踩坑了。重复的情况没有减掉,处理重复的情况太麻烦
相关文章
- 暂无相关文章
用户点评