zoukankan      html  css  js  c++  java
  • ARTS打卡第四周

     Algorithm

     只出现一次的数字

     

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

    说明:

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

    示例 1:

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

    示例 2:

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

    刚接触这类型的题目,连时间复杂度,和空间复杂度是什么都不太清楚,查了下资料才知道。
    时间复杂度,为线性就是,可以有单次循环,不能有嵌套循环,因为嵌套循环涉及到了平方,就是不是线性的了。

    Tip

    java 中 的异或运算

    运算规则:两个书转化成二进制,从高位开始比较,相同为0,不同1

    比如:

    比如:8^11.

    8转为二进制是1000,11转为二进制是1011.从高位开始比较得到的是:0011.然后二进制转为十进制,就是Integer.parseInt("0011",2)=3;

    参考文章: http://www.cnblogs.com/yesiamhere/p/6675067.html

    还有篇,讲解什么是时间复杂度的文章:https://blog.csdn.net/qq_41523096/article/details/82142747

    这周其他的没有做到

  • 相关阅读:
    dp学习(六)
    dp学习(五)
    电子效应
    元素周期表
    铝、元素三角与焰色反应
    化学能与原电池:知识预习
    有机化学与生产生活
    乙烯和苯:知识预习
    有机物基础和甲烷:知识预习
    解析api的json
  • 原文地址:https://www.cnblogs.com/prader6/p/10787907.html
Copyright © 2011-2022 走看看