- 博客(5)
- 收藏
- 关注
原创 圆圈中最后剩下的数(约瑟夫环)
题目描述:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后...
2020-02-27 17:53:34
105
原创 数组中只出现一次的数字
题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解题思路:运用异或运算符的解法,对于整数a,有 (1)a^a=0 (2)a^0=a (3)a^b^c=a^(b^c)=(a^c)^b将数组的所有数据进行异或运...
2020-02-26 15:43:29
74
原创 丑数
题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:1是第一个丑数,后面的丑数都是在前面丑数的基础上*2,*3,*5。用a,b,c记录三类丑数所在位置,避免重复加入丑数。循环加入最小值,获得第index个丑数。代码实现:int GetUglyNum...
2020-02-24 21:45:17
77
原创 复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路:注意:在拆分的过程中要还原原链表的状态代码实现:RandomListNode* Clone(RandomListNode* pHead){ if (pHead...
2020-02-23 11:51:21
94
原创 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:利用插入排序的思想,记录第一个偶数,遍历数组,如果是奇数且前面有偶数,则将其插入到第一个偶数的位置。遍历结束则完成排序。void reOrderArray(vector<int> &array) { int len = array.size(); int fuzhu = len; for (int i = 0; i < len; i++){ if (ar...
2020-02-14 23:25:09
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人