zoukankan      html  css  js  c++  java
  • 力扣题解 136th 只出现一次的数字

    136th 只出现一次的数字

    • 先排序后处理数据

      class Solution {
          public int singleNumber(int[] nums) {
              Arrays.sort(nums);
              boolean flag = false;
              int ans = 0;
              for(int i = 0; i < nums.length; i++) {
                  if(i+1 == nums.length) {
                      ans = nums[i];
                      break;
                  }
                  if(nums[i] == nums[i+1]) {
                      i++;
                      continue;
                  }
                  ans = nums[i];
                  break;
              }
      
              return ans;
          }
      }
      
    • 使用异或运算

      异或运算有以下三个性质。

      • 任何数和 00 做异或运算,结果仍然是原来的数,即 a⊕0=a a⊕0=a。

      • 任何数和其自身做异或运算,结果是 00,即 a⊕a=0 a⊕a=0。

      • 异或运算满足交换律和结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b

        , a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。

      class Solution {
          public int singleNumber(int[] nums) {
              int ans = 0;
              for(int i = 0; i < nums.length; i++) {
                  ans ^= nums[i];
              }
              return ans;
          }
      }
      
  • 相关阅读:
    数据结构-索引
    CAS自旋volatile变量
    深入理解AQS
    EL表达式
    JSTL 核心标签库 使用
    JSP 九个隐含JSP对象
    jsp基本语法总结
    Commons FileUpLoad 两种上传方式解
    Servlet 异常处理
    Servlet 过滤器 Filter
  • 原文地址:https://www.cnblogs.com/fromneptune/p/13228380.html
Copyright © 2011-2022 走看看