蔬陶 发表于 2025-7-10 14:00:54

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 - nums > 1) lef++;
            if (nums - nums == 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)

[*]分析

我本来想的是排列组合嘛,踩坑了。重复的情况没有减掉,处理重复的情况太麻烦
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: LeetCode周简报1