面试题 寻找缺失的页码
来源:互联网 发布:codemirror python 编辑:程序博客网 时间:2024/04/28 14:04
题目是这样的,给定一本书的打乱的页码 书缺少了一页怎么找出缺少的那个页
(1).最简单的方式是对整个页码进行排序 nlogn 排序 然后进行遍历 看后一个元素与前一个元素的差值 如果不是为1则就找到了缺失的那一页
(2).使用一个bitset数组 (需要一个n长度的空间) 然后对整个数组进行遍历
将数组元素对应的下标置为1 最后查找整个bitset数组中不为1的下标 就找到了缺失的地方
(3).使用桶排序的思想 在整个数组中本来页码是无序的 通过调整使得a[i]=i
也就是说通过下标对页码进行排序 反正思路就是使得所有的 a[i]=i最后找到
a[i]!=i 的就找到了缺失的页码
#include <iostream>using namespace std;int main(){ int b[10] = { 3,2,4,9,6,1,0,8,7,-1 }; int tempval, temp; for (int i = 0; i < 10; i++) { if (b[i] != i) { if (b[i] == -1) continue; else { tempval = b[b[i]]; b[b[i]] = b[i]; b[i] = tempval; } } while (b[tempval] != tempval) { temp = b[tempval]; b[tempval] = tempval; tempval = temp; if (tempval == -1) break; } } for (int i = 0; i < 10; i++) { if (b[i] != i) cout << "The miss number is " << i << endl; } system("pause"); return 0;}
1 0
- 面试题 寻找缺失的页码
- 面试题-在一本书的乱序页码中找缺失的页码
- 面试题之缺失的数字分析
- 寻找缺失的数字...
- 寻找缺失的数
- 寻找缺失的数
- 寻找缺失的数字
- 寻找缺失的数
- 寻找缺失的数
- 面试题之寻找丢失的数字
- 面试题之寻找丢失的数字
- 面试题之寻找丢失的数字
- 寻找缺失的那个数
- LintCode-寻找缺失的数
- LintCode 寻找缺失的数
- 寻找缺失的数-LintCode
- LintCode 寻找缺失的数
- LinkCode-寻找缺失的数
- 以后这个博客不再更新:新博客地址http://xiongjun.info
- UIButton分状态设置
- Document,Node,Element,HTMLDocument ,HTMLCollection,HTMLElement,NodeList
- [Coursera]算法基础_Week3_递归_Q1
- 【Python】无须numpy,利用map函数与zip(*)函数对数组转置
- 面试题 寻找缺失的页码
- 流程
- iOS UI 04 轨道和动画
- Java中ArrayList 元素的排序
- 【数组】将给定字符串str="1,2,3!4,5,6,0!7,8,9"存入二维数组中。(使用 split(String regex) ) int[][] a
- IOS中的Block的使用
- 关于字符串的判断为空
- 使用SDWebImage时的内存管理问题
- jQuery动画入门--顺序执行