标题叙述性说明:鉴于阵列A,尺寸n,数组元素1至n数字。但是一些数字多次出现。有些数字不出现。请设计算法和程序,统计数据不会出现什么。什么号码多次出现。在O(n)时间复杂度,O(1)在完成它的空间复杂性要求?(思路和代码)

參考:http://mp.weixin.qq.com/s?

__biz=MjM5ODIzNDQ3Mw==&mid=200446711&idx=1&sn=09b2db28fcfa289cfb69d60f066d1d91#rd

主要思路:四次遍历。

第一遍历:确定是否所有数字都一样,比如出现n个1或者n个2的情况。若一样。直接输出结果,否则进入第二次遍历。

(这是我看了參考后加入的)

第二次遍历:对全部]i运行A[i] = A[i] *n

第三次遍历:对全部i运行++A[A[i]/n]

第四次遍历:对全部i运行A[i] = A[i] % n

这样,A[i]的值为i在数组中出现的次数。

解释:

1、因为第一次遍历。保证了后序步骤中随意元素出现的次数不可能超过n。

2、先运行A[i]=A[i]*n。让取余的时候A[i]本身的值不会对i出现的次数产生影响。

3、然后运行++A[A[i]/n],对A[i]本来的位置不断添加1,但绝不会超过n,所以每一个i出现的次数。就是A[i]对n取余。

代码例如以下:

void repetitions(int a[], int n)
{
int i = 1;
int frequencey = 0;
int element;
int temp; temp = a[1];
for(i = 2; i <= n; ++i){
if(a[i] != temp)
break;
} if(i == n + 1 && a[i-1] == temp)
{
cout << temp << "出现了" << n << "次,其余数字没有出现" << endl;
return;
} for(i = 1; i <= n; ++i)
a[i] *= n;
for(i = 1; i <= n; ++i){
++a[a[i]/n];
} for(i = 1; i <= n; ++i){
cout << i << "出现" << a[i] % n << "次要" << endl;
}
}

乐视TV2015校园招聘A第二个大的发行量(of中国Academy科学大学站)的更多相关文章

  1. 音乐TV2015校园招聘A第二大发行量(对中国科学院大学站)

    标题叙述性说明:鉴于阵列A,尺寸n,数组元素1至n数位,但是,一些数字多次出现,有些数字不出现.请设计算法和程序.统计数据不会出现什么.什么号码多次出现. 您可以O(n)时间复杂度,O(1)求下完毕么 ...

  2. 乐视4.14硬件免费日de用户体验

    此贴用于记录2016年4月14日乐视硬件免费日购买X65超级电视的用户体验.后续将动态更新 我是乐视电视的第一批用户,从乐视上市第一批超级电视,我先后帮助家人.同事.朋友买了6台乐视超级电视,也算是乐 ...

  3. 从乐视和小米“最火电视”之战 看PR传播策略

        今年的双11够热闹.一方面,阿里.京东.国美.苏宁等电商巨头卯足了劲儿.试图在双11期间斗个你死我活,剑拔弩张的气势超过了以往不论什么一场双11:还有一方面.不少硬件厂商.家电企业也来凑双11 ...

  4. 不care小米,梁军坦言微鲸才是乐视最大对手

    除了每天毫无悬念地上头条和陷入困境的生态帝国之外,乐视还要继续操心着它的对手们."挑事儿"的小米已经不足为惧,后起之秀微鲸成了一个令它"头疼"的所在.因为,不仅 ...

  5. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目

    题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...

  6. google2013校园招聘笔试题(全国)

    google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...

  7. 剑指Offer——乐视笔试题+知识点总结

    剑指Offer--乐视笔试题+知识点总结 情景回顾 时间:2016.9.19 15:10-17:10 地点:山东省网络环境智能计算技术重点实验室 事件:乐视笔试   总体来说,乐视笔试内容体量不算少, ...

  8. 体感设备:因特尔 Intel RealSense R200,乐视LeTV Pro Xtion和Orb奥比中光bec Astra比较

    最近调试三个个厂家的体感设备,第一个是Intel的RealSense R200(参数规格:分辨率:1080p,深度有效距离:0.51-4,USB3.0),第二个是乐视LeTV Pro Xtion(参数 ...

  9. 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路

    2006年9月,结束了一年的北京中科院实习后,我回到了电子科技大学,此时已经是研三上学期了.有着"金九银十"之称的秋季校园招聘正式开始了. 准备好了简历后,Jerry也加入了浩浩荡 ...

随机推荐

  1. hdu1711 Number Sequence

    Problem Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], .... ...

  2. Canvas翻转方法

     // 普通抽奖: // ctx.drawImage(img, px, py); // 级别"翻转"帆布 ctx.translate(canvas_width, 0); ctx. ...

  3. 【Linux探索之旅】第一部分第六课:Linux如何安装在虚拟机中

    内容简介 1.第一部分第六课:Linux如何安装在虚拟机中 2.第二部分第一课预告:终端Terminal,好戏上场 Linux如何安装在虚拟机中 虽然我们带大家一起在电脑的硬盘上安装了Ubuntu这个 ...

  4. 在JBuilder8在使用ANT

    在JBuilder8中使用ANT                                                            作者:翁驰原    在JBuilder8中.Ap ...

  5. 【从翻译mos文章】不再用par file如果是,export or import 包含大写和小写表名称表

    不再用par file如果是,export or import 包含大写和小写表名称表 参考原始: How to Export or Import Case Sensitive Tables With ...

  6. 【Bible for kids】 儿童圣经 App

    [Bible for kids] 儿童圣经App 除了<The Bible>这个由YouVersion团队开发的全球下载量和安装数目第一的圣经类.安装量已逾1亿8千万的App之外,YouV ...

  7. ASP.NET自定义控件组件开发 第一章 第二篇 接着待续

    原文:ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了 ...

  8. 《学习opencv》笔记——矩阵和图像处理——cvGEMM,cvGetCol,cvGetCols and cvGetDiag

    矩阵和图像操作 (1)cvGEMM函数 其结构 double cvGEMM(//矩阵的广义乘法运算 const CvArr* src1,//乘数矩阵 const CvArr* src2,//乘数矩阵 ...

  9. 关于苹果公司最新的语言Swift

    Swift供IOS和OSX新的编程语言开发的应用程序,吸取C和Objective-C质朴的语言.但没有损失C兼容性语言.Swift使用安全的编程模型.增加各种现代编程语言功能,使语言更容易掌握.更具可 ...

  10. JAVA运行程序代码段

    我记得那时候刚毕业.学习JAVA恐惧是这里,它是关于JAVA称号.我总是不正确.如今,这最后审查.看了好半天.得赶紧把刚才学习到的那点东西记下来. 一.关于static的代码段运行顺序 运行结果例如以 ...