题目来源:《剑指offer》面试题8 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序d数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小为1. 分析:我们注意到旋转数组之后的数组实际...
分类:
编程语言 时间:
2015-09-04 15:41:36
阅读次数:
175
题目:统计一个数字在排序数组中出现的次数。思路:因为是排好序的数组,所以可以采用二分查找的算法。一般最容易想到的思路是采用二分查找先找到一个,然后往他左右两边遍历,但是这个方法由于在n个数组中还可能有n个k,所以查找的复杂度还是O(n)可以先用二分查找算法找到第一个出现的位置,即当找到一个时,看它前...
分类:
编程语言 时间:
2015-09-03 10:19:58
阅读次数:
350
采用二分查找的方法,一旦找到,left++,right--,--middle++,扩展查找。开始while(left data ,int k) { 4 int n=data.size(); 5 if(n=0){20 right-...
分类:
编程语言 时间:
2015-09-02 00:15:43
阅读次数:
229
LeetCode 153. Find Minimum in Rotated Sorted Array 查找循环排序数组的最小元素(循环排序数组可以理解,一个环状数组(0,1,2,4,5,6,7),从其中一个元素断开后4,5,6,7,0,1,2)。查找一个数组的最小原始,我们知道最简单的方式就是循环遍历其中数字,时间复杂度O(n)肯定能找到这个元素。...
分类:
编程语言 时间:
2015-08-30 14:26:17
阅读次数:
172
题目:统计一个数字在排序数组中出现的次数。思路:采用二分查找,找到该数字在数组中第一次出现的位置,然后再找到组后一个出现的位置。两者做减法运算再加1.Java代码://数字K在排序数组中出现的次数//思路:用二分查找,找到第一个k和最后一个Kpublic class NumberCount { .....
分类:
编程语言 时间:
2015-08-29 11:08:17
阅读次数:
133
用选择法对10个整数按从小到大排序,要求使用数组。
算法思想:
第一次选择:从10个整数中挑出其中最小的整数,拿出来;
第二次选择:从余下的9个整数中挑出其中最小的整数,拿出来,放到上一次挑出的数的后面;
第三次选择:从余下的8个整数中挑出其中最小的整数,拿出来,放到上一次挑出的数的后面;
…………
以此类推,直到全部挑完。
#include "stdafx.h"
...
分类:
编程语言 时间:
2015-08-21 13:41:24
阅读次数:
199
/**
* 功能:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。将B合并入A并排序。
*/
/**
* 问题:如果将元素插入数组A的前端,就必须将原有的元素向后移动,以腾出空间。
* 思路:将元素插入数组A的末端。
*
* 注意:在处理完B的元素之后,不需要复制A的剩余元素,因为那些元素原本就在A中。
* @param a
* @pa...
分类:
编程语言 时间:
2015-08-20 19:00:16
阅读次数:
168
题目
统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输入4.
思路
首先第一种思路,必然是遍历数组,然后定义累加器,但是这种时间复杂度为O(n)
我们注意到数组是排序的,我们可以利用而分查找的特点,首先将第一个3找到,然后找出最后一个3,相减即可。
代码
public static in...
分类:
编程语言 时间:
2015-08-20 01:35:05
阅读次数:
149
iphone开发数组排序(数组中包括字典)
1。普通数组排序:
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@”0”,@”8”,@”6”,@”1”,nil];
NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(...
分类:
移动开发 时间:
2015-08-19 09:32:40
阅读次数:
198
题目:统计一个数字在排序数组中出现的次数。思路:对二分查找进行改进,找到数字在数组中第一次出现和最后一次出现的位置,这样就得到它出现的次数。以找第一次出现的位置为例:如果mid元素大于k,则在前半段找;如果小于k,则在后半段找;如果等于k,则要看mid的前一个元素是不是k,如果是,则在前半段找,如果...
分类:
编程语言 时间:
2015-08-18 01:01:51
阅读次数:
185