摘要: 第一章 二分查找和简单查找 简单查找就是顺序一个一个的查找。缺点是复杂度o(n)比较高,好处是无论什么的原始数据都可以利用。 二分查找,二分查找的前提必须是有序的不然就会失去意义,二分查找利用有序的特点,每次都可以去掉当前数组长度的一半,所以复杂度为o(log2(n)) 代码: #include<s 阅读全文
posted @ 2020-10-21 21:37 罪梦者 阅读(126) 评论(0) 推荐(0)
摘要: 排序 本题不限定排序算法,所给的数据集有种情况: 小规模(n<1000)无序数据; 小规模(n<1000)递增数据; 小规模(n<1000)递减数据; 大规模(10000<n<1000000)无序数据; 大规模(10000<n<1000000)递增数据; 大规模(10000<n<1000000)递减 阅读全文
posted @ 2020-10-21 21:05 罪梦者 阅读(411) 评论(0) 推荐(0)
摘要: 7-81 Least Prefix (10分) Given a non-empty array of N integers A, please find the smallest integer P such that all the numbers in A are in the subarray 阅读全文
posted @ 2020-10-21 21:04 罪梦者 阅读(815) 评论(0) 推荐(0)
摘要: 7-80 身份证校验 (100分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码M组成。校验码M的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系 阅读全文
posted @ 2020-10-21 21:02 罪梦者 阅读(363) 评论(0) 推荐(0)
摘要: 7-79 超市贴花 (5分) 某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花。贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字。当收集到连续编号的三张贴花时,就可以换一个小礼物。 小明经常去某家超市购物,积攒了不少贴花,你帮他看看,能换多少小礼物。 输入格式: 首先是一 阅读全文
posted @ 2020-10-21 21:01 罪梦者 阅读(907) 评论(0) 推荐(0)
摘要: 7-78 切割绳子 (5分) 有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长? 输入格式: 第一行两个整数n和k(1<n<10000; 1<k<10000)。 接下来n行,描述了每条绳子的长度Li,Li也是整数。 输出格式: 切割后每条绳子的最大长 阅读全文
posted @ 2020-10-21 21:00 罪梦者 阅读(449) 评论(0) 推荐(0)
摘要: 7-77 御膳房 (5分) 御膳房要准备皇帝的早餐,非常的辛苦。辛苦是因为这个皇帝很挑剔,要求相邻两天不能吃相同的早餐。根据采买到的原料,御膳房准备了未来几天的早餐的菜单。但是厨师不懂数学,排出的菜单有相邻两天重复的。你能否根据菜单,判断能不能调整成相邻两天不重复的呢? 输入格式: 首先是一个正整数 阅读全文
posted @ 2020-10-21 20:55 罪梦者 阅读(878) 评论(0) 推荐(0)
摘要: 7-76 PAT考试日期 (5分) PAT(编程能力测试)考试一年三次,分别在春、秋和冬季举行。考试需要现场机房场地和工作人员的辛苦工作,所以要计划考试的日期非常困难。因为除了要考虑学校开学、考试等时间,还要考虑负责老师的时间。由于各校的负责老师都非常非常忙,他们不但担任考试的组织工作,而且还有常规 阅读全文
posted @ 2020-10-21 17:15 罪梦者 阅读(892) 评论(1) 推荐(0)
摘要: 7-75 去掉重复的数据 (10分) 在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。 你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,去掉所有重复的数字。最后按照输入顺序输出没有重复数字的数据。所有重复的数字只保留第一次 阅读全文
posted @ 2020-10-21 17:05 罪梦者 阅读(2807) 评论(0) 推荐(0)
摘要: 7-74 有重复的数据I (10分) 在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。 你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。 输入格式: 你的程序首先会读到一 阅读全文
posted @ 2020-10-21 17:04 罪梦者 阅读(1711) 评论(0) 推荐(0)
摘要: 7-73 校门外的树 (5分) 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置。数轴上的每个整数点,即0、1、2、......、L,都种有一棵树。 由于马路上有一些区域要用来建车站。这些区域用它们在数轴上的 阅读全文
posted @ 2020-10-21 17:02 罪梦者 阅读(289) 评论(0) 推荐(0)
摘要: 7-72 找画笔 (10分) 豆豆对数字的执着,让他在理科领域游刃有余,但他近乎疯狂的投入也使父母有些担心,为了让孩子能够全面发展,决定拓宽他的学习领域。正好家旁边有个绘画培训中心,父母就给豆豆报了名。学习绘画的第一天就让豆豆产生了浓厚的兴趣,还主动要求买了很多很多的画笔。画笔有多种颜色,豆豆有一个 阅读全文
posted @ 2020-10-21 16:58 罪梦者 阅读(960) 评论(0) 推荐(0)
摘要: 7-71 期末分数排序 (10分) 考试结束了,全班同学的分数都出来了。老师需要对分数做一次排序,看看从高到低,分数的排列是怎样的。 输入格式: 第一行是一个n,表示班级同学的人数,1<=n<=500000。 第二行开始有n个分数,0<=分数<=100,分数都是整数,没有零点五分。 输出格式: 输出 阅读全文
posted @ 2020-10-21 16:56 罪梦者 阅读(2763) 评论(0) 推荐(0)
摘要: 7-70 打台球 (5分) 杨同学迷上了一款叫诺斯克的台球游戏,而且随着练习的深入,他总是能在某些神奇的时刻开启外挂模式,此时小李将指哪打哪,直至无球可打。现在杨同学想让你帮他计算下当他开启外挂模式的时候最多可以取得多少分数。注意:台面上的球数可能与传统斯诺克的不同。 比赛的基本规则如下: 彩球共分 阅读全文
posted @ 2020-10-21 16:55 罪梦者 阅读(1141) 评论(0) 推荐(0)
摘要: 7-69 数组元素的删除 (5分) 完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。 重复若干次这样的删除,得到最后的结果。 输入格式: 第一行包括一个整数n(1<=n<=100),表示数组元素的个数。 第二行输入n个数组元素,均 阅读全文
posted @ 2020-10-21 16:51 罪梦者 阅读(1586) 评论(0) 推荐(0)
摘要: 7-68 数组元素移动 (5分) 完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素先保存起来,然后把x+1到n的元素,依次往前移一位,最后将原来的第x个位置的元素放在数组的最后。 重复若干次这样的移动,得到最后的结果。 输入格式: 第一行包括一个整数n(1<=n<= 阅读全文
posted @ 2020-10-21 16:48 罪梦者 阅读(1396) 评论(0) 推荐(0)
摘要: 7-67 摘苹果 (5分) 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出很多苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知每个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到 阅读全文
posted @ 2020-10-21 16:47 罪梦者 阅读(337) 评论(0) 推荐(0)
摘要: 7-66 结伴同行去秋游 (5分) 可以去秋游啦!同学们别提多高兴了!老师说,单独行动有点危险,那么我们还是结伴同行吧。结伴的规则是这样的:排在最前的一个人和排在最后的那个人结成同伴,排在第2个的与排在倒数第2个的结成同伴......依次类推,2个一组成同伴。好,请马上排出来吧!老师语音一落,同学们 阅读全文
posted @ 2020-10-21 16:46 罪梦者 阅读(1879) 评论(0) 推荐(0)
摘要: 7-65 评委打分 (5分) 班级里要搞智力竞赛啦!同学们都踊跃参加。进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢? 输入格式: 第一行有十个整数,表示十位同学的初始分。第二行一个整数n,表示有n道题竞赛。 接下去有n行 阅读全文
posted @ 2020-10-21 16:44 罪梦者 阅读(678) 评论(0) 推荐(0)
摘要: 7-64 整理队伍 (5分) 体育课上,教数学的体育老师怎么看这个队伍都不大对劲,于是对队伍进行了调整。张三,你和李四换一下位置......经过几次调整,队伍终于变得有条不紊了。 输入格式: 输入第一行包括一个整数n,表示班级里总共有n个人(1<=n<=100);第二行包括n个整数,表示同学们原来的 阅读全文
posted @ 2020-10-21 16:43 罪梦者 阅读(668) 评论(0) 推荐(0)