[每日练习]Amazon面试题:数组有N-2个数字,数字的范围为1 ... N,没有重复的元素,要求打印缺少的2个数字,不可以用额外的空间
来源:互联网 发布:用java计算pai的值 编辑:程序博客网 时间:2024/05/16 09:27
问题描述:
数组有N-2个数字,数字的范围为1 ... N,没有重复的元素,要求打印缺少的2个数字,不可以用额外的空间
the code:
#include <stdio.h>
#include <math.h>
//数组有N-2个数字,数字的范围为1 ... N,没有重复的元素,要求打印缺少的2个数字,不可以用额外的空间。
static void FindTwoMissedElements(int *arr, int n)
{
int N = n+2;
int sum = (N+1)*N/2;
int qsum = sum*(2*N+1)/3;
int i, a_b;
for(i=0; i<n; i++)
{
sum -= arr[i];
qsum -= arr[i]*arr[i];
}
a_b = (int)sqrt(2*qsum - sum*sum);
printf("a=%d, b=%d\n", (sum+a_b)>>1, (sum-a_b)>>1);
}
int main()
{
int arr[] = {1,2,3,5,6,7,9};
FindTwoMissedElements(arr, 7);
return 0;
}
0 0
- [每日练习]Amazon面试题:数组有N-2个数字,数字的范围为1 ... N,没有重复的元素,要求打印缺少的2个数字,不可以用额外的空间
- [每日练习]数组有N+M个数字, 数字的范围为1 ... N, 打印重复的元素, 要求O(M + N), 不可以用额外的空间
- 谷歌面试题--一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间
- 判断数字n中有没有重复的数字
- 给定一个包含从0,1,2,...,n中取出的n个不同数字的数组,找到数组中缺少的数字。
- 数组中重复的数字(n个数字,且数字都在0到n-1范围内)
- 求N+1 个数字中缺少的那个数值
- 找出2n个数字重复n次出现的数字
- 面试题:从1001个整数元素的数组中找出重复的数字
- 一个数组arr,长度为N,N小于10^8,里面数字的范围是1~N,是否有重复,并统计出来
- 给定数组A,大小为n,数组元素为1到n的数字,统计哪些数字没有出现,哪些数字出现了多少次
- 从面试题中学算法(2)---求数组中唯一n个出现1次的数字(n=1,2,3)
- 面试题:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数,并把它们都输出。
- 编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。
- 有n个1-9的互不重复的数字,能组成多少个互不相同且无重复数字的n-1位数?都是多少?
- 一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。
- 在一个长度为n的数组里的所有数字都在1到n-1的范围内。 有一个数字重复若干次,找出这个数字。
- randnumber_mn.c 生成一个数组,包括k个不重复的整数,并且要求这些整数范围为[m,n),生成的结果中不能包含inum中的数字,size表示inum的长度
- Activity的四种launchMode
- Java8引入函数接口,与原有接口多重继承带来的缺陷——走进Java Lambda(三)
- cobol学习之十数据库的增删改查模板
- Spring AOP详解-转自AOP那点事儿
- sql 中游标的使用
- [每日练习]Amazon面试题:数组有N-2个数字,数字的范围为1 ... N,没有重复的元素,要求打印缺少的2个数字,不可以用额外的空间
- Android应用内语言切换实现
- 简单易学的机器学习算法——lasso
- Ubuntu Linux中开启MySQL远程访问功能的方法
- 基于Solr的HBase多条件查询测试
- phantomjs截图中文网站网页页面乱码,安装字体解决
- WinPcap学习(三)获取已安装设备的高级信息
- asp.net 图片裁切
- hibernate数据库链接加中文乱码处理的参数方法