摘要: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 阅读全文
posted @ 2020-07-21 14:22 bingzibing 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 输出所有和为s的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序。 分析:双指针问题,一个慢指针在第一个元素位置,一个快指针在第二个元素位置,每次累加慢指针和快指针之间的元素和res,如果res<sum则快指针加一,如果res>sum则慢指针加一,如果res=sum则把快慢指 阅读全文
posted @ 2020-07-21 14:08 bingzibing 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 方法一:使用额外空间哈希表 方法二:不用额外空间,利用异或运算的性质,把数组中的元素依次做异或运算,得到的结果就是两个只出现一次的数字的异或值(因为异或运算不同为一,相同为0)。 阅读全文
posted @ 2020-07-21 10:04 bingzibing 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 统计一个数字在排序数组中出现的次数。 阅读全文
posted @ 2020-07-21 10:03 bingzibing 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 分析:先将整型数组转化成String数组,然后将String数组排序,最后将排好序的字符串数组拼接,排序规则:若ab>ba 阅读全文
posted @ 2020-07-21 10:02 bingzibing 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 阅读全文
posted @ 2020-07-21 10:01 bingzibing 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 阅读全文
posted @ 2020-07-21 09:55 bingzibing 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 阅读全文
posted @ 2020-07-21 09:53 bingzibing 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。 (1)保证奇数和奇数,偶数和偶数之间的相对位置不变。 分析:使用两个队列,一个存奇数,另一个存偶数,然后依次将数赋值给原数组。 (2)不要求奇数和奇数之间,偶数与偶数之间的相对位 阅读全文
posted @ 2020-07-21 09:52 bingzibing 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方,保证base和exponent不同时为0。 思路:分不同的情况讨论:1、底数b=0 指数e<0 报错;2、底数b=0,指数e>0,结果为0;3、底数b不为0,指数e>0,结果为累乘e次;4、 阅读全文
posted @ 2020-07-21 09:50 bingzibing 阅读(114) 评论(0) 推荐(0) 编辑