剑指 Offer 03. 数组中重复的数字()

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

解题思路

原地交换,让对应的数字放在对应位置上,若对应位置已符合,说明数字重复
题目已经说了长度为n,且数字都在 0~n-1 的范围内,不用担心数组越界问题
需要考虑一种特殊情况,就是可能数字开始就在对应的位置上

代码

func findRepeatNumber(nums []int) int {for index, n := range nums {if index != n && n == nums[n] {return n}nums[index], nums[n] = nums[n], nums[index]}return 0
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人行业发展方向预测报告

来源:招商证券摘要:随着中国人口红利消失,机器人不仅在制造业上正在替代工人,还将在军事、服务、娱乐等领域取代人类,“钢铁侠”已不仅仅存在于美国科幻电影中,而正走入我们的生活。本篇报告对机器人行业及…

在BingoCC上面解析域名实现智能路由

天朝的网络强大无人能及,世界上最大的Ping值不是从中国到美国而是从电信到联通。当你搭建了一个网站需要为南方北方的客户服务的话少不得你就要选择有中国特色的双线机房了。现在假如你已经把你的服务器已经部署在双线机房了,并且申请到了双线IP。为了让…

Hive小文件问题:如何产生、造成影响、解放办法

一、小文件是如何产生的 1.动态分区插入数据,产生大量的小文件,从而导致map数量剧增。 2.reduce数量越多,小文件也越多(reduce的个数和输出文件是对应的)。 3.数据源本身就包含大量的小文件。 二、小文件问题的影响 1.从Hive的角度看&…

数据结构 - 队列(图解+源码)

队列 概念 队列是一种特殊的线性表,特殊之处在于它遵循先入先出(FIFO)原则,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样…

测试人员容易遗漏一些隐藏的缺陷

通常软件测试会暴露软件中的缺陷,经过修正后可以保证软件系统的功能满足需求并正确运行。但是,在系统测试和确认测试中,测试人员容易遗漏一些隐藏的缺陷。众所周知,软件测试不可能发现所有的缺陷,而软件开发周期各个阶…

学界 | 清华AMiner团队发布53页计算机图形学研究报告

来源:AI科技评论摘要:清华 AMiner 团队近日发布新一期研究报告——《计算机图形学研究报告》,报告全文共 53 页,从概念、技术、人才、会议、应用及相应趋势详细介绍了计算机图形学的相关内容。报告内容速览概述篇:计算…

『面试知识集锦100篇』2.linux篇丨shell基础命令全集,我奶奶的速查手册!!

目录 第一部分:基础知识 一、Linux 文件基本属性 二、Linux 磁盘管理 2.1 df命令 2.2 du命令 2.3 磁盘检验

❤『面试知识集锦100篇』3.mysql篇丨mysql基础知识和面试真题,看完不收藏算我输!!

作者:不吃西红柿 简介:CSDN博客专家、蓝桥签约作者、大数据&Python领域优质创作者。 谢谢那些曾经击倒我的人, 躺着可真TM舒服。 目录 一、知识体系 1、关系型数据库术语 2、事务的基本要素(ACID)

Ant脚本介绍

1、 Ant简介:这里引用Ant帮助文档中对Ant的介绍: Apache Ant是一个基于Java的构建工具。从理论上讲,也是一种类似于Make的工具,只是去除了Make工具的缺点。 既然已经有了make, gnumake, nmake, jam以及其他的构件工具&a…

爱犯错的智能体 – 视觉篇(五):火星人脸的阴影

来源:张军平科学网博客摘要:人类对外星文明的寻找和痴迷自古就有记载。所以,每每看到拍摄于外星球的照片,必然会情绪激动,试图从中获取存在外星人的蛛丝马迹。一、火星人脸人类对外星文明的寻找和痴迷自古就有记载。所…

链表简单实现(增删查改)

链表 关于链表的原理已经有一篇链表文章写的很详细了,这篇文章主要侧重于代码的实现,主要使用go实现。 单链表实现 package Listtype listNode struct {val intnext *listNode }func newNode(val int) *listNode {node : new(listNode)node.val val…

今天不发技术文,发点粉丝福利

一、资料 1、100套小编购买的简历模板(部分截图) 2、1000套精品PPT模板(部分截图) 3、大数据-学习资料(1.3G 硬核PDF,官方指南) 4、python学习全集 5、Java基础、高级和面试资料 6、大数据-行业…

android Context

讲解Context的一篇不错的文章http://www.cppblog.com/life02/archive/2012/03/19/168328.aspx 调用service时需要一个Context实例! 1 2 3 4 public void startWifi(Context context) { WifiManager wifiManager (WifiManager)context.getSystemServic…

剑指 Offer 35. 复杂链表的复制(哈希/衍生拆分图解)

题目描述 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 题目分析 题中每个节点新增了 random 指针,指向链表…

自动驾驶技术发展的5个阶段和现状

来源:智车科技摘要:自动驾驶的级别从L1到L5(SAE),清晰而直观,是大家讨论自动驾驶行业的一个基准。但是,它也很容易误导人。让人以为自动驾驶的技术会一级一级获得突破,最终迎来一辆L…

❤『知识集锦』一文搞懂mysql索引!!(建议收藏)

作者:不吃西红柿 简介:CSDN博客专家、蓝桥签约作者、大数据领域优质创作者。 以我的资历和文凭,将来这个城市的大街,都归我扫。 【系列课程介绍】 『面试知识集锦』系列课程包括以下20个系列,超过100篇文章。每篇文章…

新来报道

刚刚进入博客园,希望自己在技术上更上一层楼,加油。 给自己点鼓励.一切问题都是可以解决的。遇到问题不要后退,要努力,坚持去解决。坚持学习,坚持写博客,从基础写起。 算来算去,自己也工作几年了…

AI芯片的过去、现在与未来

来源:华尔街见闻摘要:AI芯片似乎没能表现得比人类更智能,但它们的学习能力很强,未来可以变得更聪明。算法和芯片系统的设计都可以进步,这需要AI芯片具备更高级的记忆系统和连接机制,以及承载深度学习数据流…

链表(图文详解)

链表的概念 链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。   链表的结构是多式多样的,当时通常用的也就是两种:   无头单向非循环列表:结构简单&…

sql join中on条件后接and和where

目录 场景1:left join on a.xx b.xx and a.xx2 aa 场景2:left join on a.xx b.xx and b.xx2 aa 场景3:left join on a.xx b.xx where b.xx2 aa 场景4:inner join on a.xx b.xx where a.xx2 aa 场景5:…