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

    这周其他的没有做到

  • 相关阅读:
    MYSQL[18]
    MYSQL[11]
    hdu 1847
    hdu 2149
    uva 10341
    hdu 1850
    uva 10391字典树
    hdu 2473
    uva 10761
    hdu 1198
  • 原文地址:https://www.cnblogs.com/prader6/p/10787907.html
Copyright © 2011-2022 走看看