俞瑛瑶 发表于 2025-8-7 23:13:55

hot100之技巧组题目

只出现一次的数字(136)

class Solution {
    public int singleNumber(int[] nums) {
      int res = 0;
      for (int num : nums){
            res ^= num;
      }
      return res;
    }
}

[*]分析
异或
多数元素(169)

class Solution {
    public int majorityElement(int[] nums) {
      int res = nums;
      int count = 0;

      for (int num : nums){
            if (num == res) count++;
            else{
                if (count == 0) res = num;
                else count -= 1;
            }
      }

      return res;
    }
}

[*]分析
将元素分为和进行统计
颜色分类(075)

class Solution {    public void sortColors(int[] nums) {      int cursor_0 = 0;      int cursor_2 = nums.length -1;      int idx = 0;      while (idx = 0 && nums >= nums)i--;                if (i < 0) {            reverse(nums, 0);            return;      }                int j = nums.length -1;      while (j > i && nums
页: [1]
查看完整版本: hot100之技巧组题目