当前位置: 首页 > news >正文

求唯一一个只出现一次的数字

为什么80%的码农都做不了架构师?>>>   hot3.png

输入一串数字,其中只有一个数字只出现一次,其他数字均出现两次,要求找出这个只出现一次的数字。

1、第一种方式依次遍历每一个数字,然后再遍历这个数字之后的数字如果没有重复则就是它,否则就继续,这种方法算法复杂度为 O(n²)

2、第二种方式可以借用 map ,牺牲空间换取时间,算法复杂度 O(n) 。

3、第三种借用 0 ^ i = i , i ^ i = 0 的特性,效率最高,不用牺牲额外空间。

def findSingleNumber():
    row_str = raw_input(r"输入:")
    nums = [int(i) for i in row_str.split(",")]

    # 第二种方式
    # m = {}
    # for i in nums:
    #     if i in m.keys():
    #         m.pop(i)
    #         continue
    #     m[i] = True
    #
    # print m.keys()[0]

    # 第三种方式
    temp = 0
    for i in nums:
        temp = temp ^ i
    print temp

 

转载于:https://my.oschina.net/zhxx/blog/3034804

相关文章:

  • Java设计模式--装饰器模式到Java IO 流
  • 【iOS工具】快速上传ipa文件到iTunes Connect
  • 使用DataWorks调度DLA循环任务
  • postgresql行列转换函数
  • SQL中IF和CASE语句
  • Python Day3
  • [20190416]完善shared latch测试脚本2.txt
  • Windows下如何更新 node.js
  • 美团数据调优指北【转载】
  • 如何给列表降维?sum()函数的妙用
  • 好程序员分享JQuery.get提交页面不跳转的解决方法
  • QT 栅格布局
  • 如何根据业务封装自己的功能组件
  • 心理学解析一见钟情的感觉
  • 深入理解nvme hardware queue pair
  • 【EOS】Cleos基础
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • HTTP那些事
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaScript对象详解
  • js 实现textarea输入字数提示
  • nodejs:开发并发布一个nodejs包
  • node和express搭建代理服务器(源码)
  • windows下mongoDB的环境配置
  • 百度小程序遇到的问题
  • 服务器从安装到部署全过程(二)
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于组件的设计工作流与界面抽象
  • 模型微调
  • 全栈开发——Linux
  • 通过npm或yarn自动生成vue组件
  • 推荐一个React的管理后台框架
  • 我是如何设计 Upload 上传组件的
  • 小试R空间处理新库sf
  • 关于Android全面屏虚拟导航栏的适配总结
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #{}和${}的区别是什么 -- java面试
  • #Z2294. 打印树的直径
  • (02)vite环境变量配置
  • (175)FPGA门控时钟技术
  • (4)logging(日志模块)
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)linux文件内容查看
  • (转)LINQ之路
  • .gitignore文件---让git自动忽略指定文件
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net Core和.Net Standard直观理解
  • .Net FrameWork总结
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net7 环境安装配置
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境