zoukankan      html  css  js  c++  java
  • 【力扣】136. 只出现一次的数字

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    说明:

    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1:

    输入: [2,2,1]
    输出: 1
    示例 2:

    输入: [4,1,2,1,2]
    输出: 4

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/single-number
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    public int singleNumber(int[] nums) {
            int result = 0;
            for(int i = 0; i < nums.length; i++){
                result ^= nums[i];
            }
            return result;
        }

    异或运算有以下三个性质。太牛了,用异或操作,当然,这个题的重点也是要记住异或操作的性质。

    1.任何数和 00 做异或运算,结果仍然是原来的数;
    2.任何数和其自身做异或运算,结果是0;
    3.异或运算满足交换律和结合律。

    一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    node-red 使用 创建第一个流程
    node-red 安装
    docker postgres 导出导入数据
    6大设计模式(转)
    常见的算法
    @Autowired与@Resource的区别
    Elasticsearch
    redis搭建主从复用-读写分离
    转载redis持久化的几种方式
    后台启动mysql
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/14194951.html
Copyright © 2011-2022 走看看