欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

LeetCode周简报1,重复的情况没有减掉,

来源: javaer 分享于  点击 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)

  • 分析

我本来想的是排列组合嘛,踩坑了。重复的情况没有减掉,处理重复的情况太麻烦

相关文章

    暂无相关文章
相关栏目:

相关文章

    用户点评