腾讯(求丢失的元素)

简介: 一.从1~100中随机抽走一个数字,剩下的99个数字被打乱顺序放到数组 a[99]。 int a,k=0; srand(time(NULL)); a = rand()%100+1;//随机从0~100抽取一个数 int array[99] = {0};//数组保存数据 for(in...
一.从1~100中随机抽走一个数字,剩下的99个数字被打乱顺序放到数组 a[99]。

int a,k=0;
srand(time(NULL));
a = rand()%100+1;//随机从0~100抽取一个数
int array[99] = {0};//数组保存数据
for(int i = 1; i <= 100; ++i)
{
    if(i != a)
    array[k++]  = i;//获取剩下的99个数字
}

//打乱剩下99个数据
for(int i = 0; i <99; ++i)
{
  int j = rand()%99;//随机获取一个数组下标
  //将i下标处的数据与j下标数据交换
  int b =   array[i]; 
   array[i] =  array[j];
  array[j] = b;
}

二.有一组数字,从1到n,从中减少了3个数,顺序也被打乱,放在一个n
求丢失的元素.



这原是一道JSP面试题 


1.二分查找 

2.遍历数组,求取数组的累加和s, 平方和qs。
用1...10000的累加和减去s, 得到移除两数之和a,
用1...10000的平方和减去qs,得到移除两数之和b,

那么解方程就可以了
x1 + x2 = a
x1^2 + x2^2 = b

需要用的高中数学中的角坐标变换,和差化积什么的。

至于去掉三个数大家可以试试立方和
x1 + x2 + x3 = a
x1^2 + x2^2 + x3 = b
x1^3 + x2^3 + x3^3 = c
方程大家可以任意构造,只要其和不用太大,并且易于求解就可以了

设减少的3个数分别为x、y、z,3个数的和为b,3个数的平方和为c,3个数的立方和为d。
据题意有下面3个等式联立:
x + y + z = b ①
x * x + y * y + z * z = c ②
x * x * x + y * y * y + z * z * z = d ③
只要求出了b、c、d,我们就可以把①式两边平方再减去②式得到——
x * y + y * z + x * z = f(a, b, c) ④
再通过(x + y + z)^3 = x^3 + y^3 + z^3 + ... + 6x * y * z的公式和①②③式代入处理③式得到——
x * y * z = f(a, b, c) ⑤
根据①④⑤就能转换成一元三次方程,通过盛金公式(B^2-4AC<0)求取3个根——也就是被减少的那3个数。


3.
bitmap,hash方法暂时不会 

4. 
memset(flag,0,sizeof(flag));
for(int i=1;i<=n-3;++i)
flag[a[i]]=1;
for(int i=1;i<=n;++i)
if(!flag[i])
cout<<i;

 

目录
相关文章
|
6月前
|
运维 Serverless 数据处理
函数计算产品使用问题之遇到生成没有反应、中止也不行,以及刷新后队列积累的问题,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
存储 前端开发 NoSQL
拿下奇怪的前端报错(四):1比特丢失导致的音视频播放时长无限增长-浅析http分片传输核心和一个坑点
在一个使用MongoDB GridFS存储文件的项目中,音频和视频文件在大部分设备上播放时长显示为无限,而单独播放则正常。经调查发现,问题源于HTTP Range请求的处理不当,导致最后一个字节未被正确返回。通过调整请求参数,使JavaScript/MongoDB的操作范围与HTTP Range一致,最终解决了这一问题。此案例强调了对HTTP协议深入理解及跨系统集成时注意细节的重要性。
|
6月前
技术心得:实现“换一批”类的效果
技术心得:实现“换一批”类的效果
24 0
|
7月前
|
Shell 定位技术 芯片
作为一个新人换到数字IC必须学习的一丢丢知识
作为一个新人换到数字IC必须学习的一丢丢知识
51 0
|
消息中间件 算法 Dubbo
3面美团,4面阿里,5面百度,offer照单全收,最终还是选择了字节
十月已过半,金九银十同样也临近尾声。阿嘴希望能帮助大家有效抓住面试跳槽旺季的尾巴,连夜整合了GitHub最火的大厂的面经以及相关的真题干货,同时,还有一份2021字节跳动面经笔记给大家。
|
移动开发
微信h5扫码接口范例:多个扫码框支持的办法,通过引入一个参数来区分及使用localStorage保证之前扫到的数据不丢失
微信h5扫码接口范例:多个扫码框支持的办法,通过引入一个参数来区分及使用localStorage保证之前扫到的数据不丢失
122 0
|
存储 搜索推荐 NoSQL
抖音是怎么做到不重复推荐内容呢?
抖音是怎么做到不重复推荐内容呢?
|
存储 安全 算法
从“Back to Basic”到伙伴优先,阿里云的组合拳总算整明白了
阿里巴巴最近又活跃了起来——不是在天猫,也不是在支付宝,而是在技术端。 5月26日,阿里云发布了2022财年财报,营收首次超过千亿达到1001.8亿元,同时首次实现年度盈利(11.46亿元); 6月13日,阿里云智能总裁张建锋在2022年阿里云峰会上发布年度策略“Back to Basic”,发布了云数据中心专用处理器CIPU,提出要在技术长征路上不懈努力赢取新的突破;
352 0
|
缓存 移动开发 JavaScript
5.17-5.25 大厂一轮面试题目全记录(腾讯PCG、WXG、虾皮、字节)
本瓜前段时间(2020.05.17 ~ 2020.05.25)可能由于机缘巧合?获得了几家大厂的面试资格。遂去试了试水(不该裸面呀),发现自己还是火候不够。