找回密码
 立即注册
首页 业界区 业界 LeetCode周简报1

LeetCode周简报1

蔬陶 2025-7-10 14:00:54
每日一题

Day1

最长和谐子序列(594)
  1. class Solution {
  2.     public int findLHS(int[] nums) {
  3.         Arrays.sort(nums);
  4.         int lef = 0;
  5.         int res = 0;
  6.         for (int rig = 0; rig < nums.length; rig++){
  7.             while(nums[rig] - nums[lef] > 1) lef++;
  8.             if (nums[rig] - nums[lef] == 1) res = Math.max(res, rig -lef + 1);
  9.         }
  10.         return res;
  11.     }
  12. }
复制代码

  • 分析
先对序列进行排序,通过双指针维护序列 时间复杂度 O(nlogn + n)
后来想了一下,长度其实就是 sum(num) + sum(num+1),可以通过Hash解决
Day2

找到初始输入字符串I(3330)
  1. class Solution {
  2.     public int possibleStringCount(String word) {
  3.         int res = 0;
  4.         char curr = word.charAt(0);
  5.         for (char c : word.toCharArray()){
  6.             if (curr == c) res++;
  7.             curr = c;
  8.         }
  9.         return res;
  10.     }
  11. }
复制代码

  • 分析
很简单,就是全排列
每一个多输入的字符都可能是输错了
Day3

失败了
找到初始输入字符串II(3333)

  • 分析

我本来想的是排列组合嘛,踩坑了。重复的情况没有减掉,处理重复的情况太麻烦
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册