首页 > 找出重复的数
头像 东溪看水
发表于 2020-07-17 11:59:33
题目 在包含 n+1 个数的序列 a 中找出重复的数。序列 a 中包含从 1 到 n 的整数,且只有一个数有重复值。要求时间复杂度为 O(n),额外空间复杂度为 O(1)。 解题思路 解法一 先排序,再找重复值排序可以直接使用 sort() 函数,其时间复杂度为 ,接着遍历数组,如果相邻两个数相等 展开全文
头像 摸鱼学大师
发表于 2021-09-14 21:08:52
题目的主要信息: 数组中n+1个元素,包括1到n的所有整数 找到重复的那个数字 额外要求:时间复杂度O(n)O(n)O(n),空间复杂度O(1)O(1)O(1) 方法一:排序法(能通过,时间不符合要求) 具体做法: 利用sort函数对数组排序,遍历数组,相邻两个数相同则找到所求。 class S 展开全文
头像 izipei
发表于 2020-07-21 11:52:25
找卧底 时间复杂度: o(n) 空间复杂度: o(1) 思路: 题目会给出一个乱序的数组,我们可以尝试将其恢复。我们假设牛牛的数在有序数组中排在第一个位置,即a[0](牛牛这么牛,当然要排在最前面),然后其他的数依次递增排列,即n排在a[n]。则当我们拿到打乱顺序后的数组后,我们可以取出a 展开全文
头像 牛客982481324号
发表于 2022-05-21 18:50:54
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int * @param a int一维数组 * @return int */ function search(n, a) { // write code here // 展开全文
头像 xqxls
发表于 2021-09-03 15:24:03
题意整理 给定一个长度为n+1的序列,包含1到n之间的数。 有一个数重复了,找出重复的数。 方法一(数学) 1.解题思路 先计算出序列中所有数字的和。 然后计算1到n所有数字的和。 由于序列中有一个重复了,所以序列和中多算了一次,从序列和中减去1到n所有数的和,即时那个重复的数字。 动图展示 展开全文
头像 George_Plover
发表于 2021-09-13 18:11:15
题意整理: 基本题意 ​ 或许是一道经典的面试题。 ​ 给出一个长度为 的整数数列 ,保证里面 都出现至少一次,同时有且仅有一个数字出现过两次。 ​ 找出这个出现过两次的数字。 数据范围与性质 ​ 。 ​ 要求使用时间复 展开全文
头像 牛客594675055号
发表于 2022-01-16 18:19:28
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int * @param a intvector * @return int */ int search(int n, vector& 展开全文
头像 呆喵挠琴
发表于 2021-09-08 15:42:04
思路: 题目很短,主要信息为: 序列a中的数字为1到n的整数,只有一个数字重复 时间复杂度为 O(n),额外空间复杂度为 O(1)。 方法一:求和相减 具体做法:1到n的整数之和为sum=若a中重复的数字为i,则a中所有数字之和可以表示为a_sum=这样就能够得到重复的数字为a_sum-sum= 展开全文
头像 球球了给孩子一个offer吧
发表于 2021-09-05 21:32:18
题目:在包含 n+1 个数的序列 a 中找出重复的数。序列 a 中包含从 1 到 n 的整数,且只有一个数有重复值。要求时间复杂度为 O(n),额外空间复杂度为 O(1)。 方法一:求和求出1+2+...n=sum的值,计算a数组的和,a数组的和减去sum就得到重复数字 import java.ut 展开全文

等你来战

查看全部