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

    这周其他的没有做到

  • 相关阅读:
    ssh免密码登录与常见问题
    在eclipse中生成实体类
    在cmd中设置字体
    java命名
    c/s架构
    sql身份证号查人数
    bootstraptable表格基本
    手机登录验证
    form表单验证提示语句
    html让背景透明
  • 原文地址:https://www.cnblogs.com/prader6/p/10787907.html
Copyright © 2011-2022 走看看