当前位置: 首页 > news >正文

雅式机械加工网志鸿优化设计答案网

雅式机械加工网,志鸿优化设计答案网,好用的wordpress企业模版,旅行社网站规划与建设的流程图1 题目 不修改数组找出重复的数字 在一个长度为N1的数组里面的所有数字都在范围1~N范围内#xff0c;所以数组至少 有一个数字是重复的#xff0c;请找出重复数字#xff0c;但是不能修改输入的数组。 2 思路 思路1#xff1a; 我们开辟一个新的数组#xff0c;初始化…1  题目 不修改数组找出重复的数字 在一个长度为N1的数组里面的所有数字都在范围1~N范围内所以数组至少 有一个数字是重复的请找出重复数字但是不能修改输入的数组。 2  思路 思路1 我们开辟一个新的数组初始化为0然后把原始数组每个数据的值作为下标把新数组通过这个下标数据取出来如果取出来是1就说明这个下标数据重复了如果不是我们直接放进去然后进行新数组值进行操作。 思路2: 比如数据1 2 2 3 4 5 6 7 我们先找到中间的值(1 7) / 2 4;然后我们判断数组里面每个元素 1到4有多少个如果有大于4个数的话我们一定说明重复数据在范围1到4里面反之在范围4到7中比如我们上面的数据1到4有5个数据我们说明可以知道重复数据范围是1到4然后我们再把数据切一刀从1到4 有点像二分法以此类推知道我们求出答案。 关键点 1我们要个辅助函数需要知道数组中从范围start到end的元素个数 2循环条件是while(end start) 3)  退循环条件是在while里面if(end start) {通过辅助函数得到的个数大于1就返回这个start值} else {break;} 3  代码实现 #include iostreamusing namespace std;int getCount(const int *a, int len, int start, int end) {if (a NULL || len 0){return 0;}int count 0;for (int i 0; i len; i){if (a[i] start a[i] end){count;}}return count; }int getResetNumber(const int *a, int len) {if (a NULL || len 0){return -1;}int start 1, end len - 1;//int mid (end - start) / 2 start;while (end start){int mid (end - start) / 2 start;int count getCount(a, len, start, mid);if (end start){if (count 1){return start;}else{break;}}if (count (mid - start 1)){end mid;}else{start mid 1;}}return -1; }int main() {std::cout 请输入数组的长度 std::endl;int len 0;std::cin len;if (len 0){std::cout 数组的长度不合法 std::endl;return -1;}int *a new int[len];std::cout 请分别输入数组的每个数据 std::endl;for (int i 0; i len; i){std::cin a[i];if (a[i] 0 || a[i] len){std::cout 输入的数据有误 std::endl;return -1;}}//int count getCount(a, len, 1, len - 1);int value getResetNumber(a, len);if (value -1){std::cout 没有找到重复的数据 std::endl;return -1;}std::cout 其中一个重复的数据是 value std::endl;delete []a;return 0; }89,1 Bot4  运行结果 请输入数组的长度 5 请分别输入数组的每个数据 1 2 3 4 2 其中一个重复的数据是2 5  本质和总结 在区间start~end里面我们要缩小一半区间我们直接找到start~end的中间数M (start - end) / 2 start然后遍历数组如果在这个范围的数据等于M 大于(M - start 1)说明这个段区间有重复数据反之数目重复数据在M1到end区间然后每次这切割以此类推所以这里要用到循环用循环就要条件我们知道二分法这些操作条件是while(end start),既然有循环那我们必须找到跳出循环条件的条件在while循环里面 if (end start) {辅助函数个数 1} else {break;}
http://www.huolong8.cn/news/286077/

相关文章:

  • 成都网络公司网站html5网站的优点
  • 做拼多多网站赚钱吗花店网站建设
  • 网站关键词怎么做上首页做大数据和网站开发的前景
  • 手机网站开发应注意建站公司排名 软通
  • 梅州建站多少钱河北石家庄的大学
  • 建设网站有哪些公司一级造价工程师专业
  • 凡科建站提示网站建设中如何在百度提交网站
  • 制作一个私人网站怎么申请域名商城网站框架
  • 安庆网站建设工作室wordpress支付宝付费
  • 山西省网站建设制作招聘桂林网站推广维护建设
  • 茂名住房证书城乡建设局官方网站代做课程设计网站
  • 长网页网站广州新闻热点事件
  • 湖北优化网站建设网络构建
  • 天津做网站好的公司蛋糕网站模板
  • 网站开发建设及推广合同免费注册淘宝店铺
  • 长春哪家网站做的好网站推广妙招
  • 商务网站开发实验报告绍兴建站公司模板
  • 飞创网站建设有成crm
  • 源码网站取名可信的品牌网站建设
  • 手机网站建设的影响深圳市无限空间工业设计有限公司
  • 五星酒店网站建设方案百度旗下有哪些app
  • 用dw制作个人网站刚刚北京传来重大消息
  • 深圳华南城网站建设云闪付小程序开发平台
  • 珠海网站制作套餐津seo快速排名
  • 怎么查看网站收录绍兴网站建设价格
  • 溧阳建设局网站6小程序怎么申请注册费用
  • wordpress性能差做seo用什么网站系统
  • mvc网站开发客户网站建设完成后需要什么
  • 网站需备案吗网站域名和空间区别
  • php网站建设入门教程住房建设部投诉网站