A题: 贪心水题,注意1,1这组数据,坑了不少人 B题: 首先给数组排序,然后问题就可以抽象成找到一个有序数组的上升子序列的最大个数,实现方法有点笨拙(我宁愿称之为巧妙:)) C题: 将二者的计算公式稍作推导就可以发现任意两点要符合要求,只要xy两个坐标只要满足(x||y)的复合命题为真即可。然
分类:
其他好文 时间:
2016-03-13 19:56:10
阅读次数:
153
34. Search for a Range Problem's Link ---------------------------------------------------------------------------- Mean: 给定一个有序数组和一个数k,求k在这个数组中的起始下标和结
分类:
其他好文 时间:
2016-03-02 00:06:05
阅读次数:
244
#include "stdafx.h" #include <stdio.h> #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { int a[5] = {0,2,5,7,8}; int b[5] = {1,3,4,6,9}; int
分类:
编程语言 时间:
2016-03-01 22:22:41
阅读次数:
251
很有意思的一道题目。要求根据一个有序数组,构造出一棵高度平衡的BST。
每次找到数组的中间位置,这个便是BST的 根节点。左右孩子也很好找,根节点左边区域的中间节点便是左孩子,根节点的右边区域的中间节点便是右孩子。如此递归求解
108. Convert Sorted Array to Binary Search Tree
My Submissions
Question
Total Accepted: 68378 Total...
分类:
其他好文 时间:
2016-02-26 10:33:45
阅读次数:
160
二分查找算法 二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查
分类:
编程语言 时间:
2016-02-18 22:56:42
阅读次数:
262
Shell 排序利用分组加速部分有序数组排序,分组定长跳跃冒泡 希尔排序的时间性能优于直接插入排序的原因: ①当文件初态基本有序时直接插入排序所需的比较和移动次数均较少。 ②当n值较小时,n和 n^2 的差别也较小,即直接插入排序的最好时间复杂度O(n)和最坏时间复杂度0( )差别不大。 ③在希尔排
分类:
编程语言 时间:
2016-02-15 22:30:22
阅读次数:
226
在lua当中我们如果要遍历一个tb,有序数组用ipairs,无序的则会用pairs,直接先上代码 --------------------------------- --数组型 --------------------------------- local tb1 = {3,2,1} for i,v
分类:
其他好文 时间:
2016-02-15 12:20:07
阅读次数:
242
题目一: 给定一个有序数组arr,调整arr使得这个数组的左半部分没有重复部分且升序,而不用保证右部分是否有序。 例如:arr=[1,2,2,2,3,3,4,5,6,6,7,7,8,8,9,9],调整之后arr=[1,2,3,4,5,6,7,8,9…]。 要求: 时间复杂度O(N),额外空间复杂度O...
分类:
编程语言 时间:
2016-02-14 23:41:18
阅读次数:
372
/*已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列*/ #include <stdio.h> /** * 折半查找法找到需要插入的位置(下标) * * @param p 数组 * @param num 需要插入的数 *
分类:
编程语言 时间:
2016-02-14 18:26:01
阅读次数:
138