题型1:如何用递归实现数组求和 方法1: 题型2:如何用一个for循环打印一个二维数组 方法1:array在二维数组中的行号和列号分别为[i/MAXY],[i%MAXY] 题型3:用递归和非递归的方法实现二分查找 题型4:如何在排序数组中,找出给定数字出现的次数 方法1:二分查找,分别找出左边界和右 ...
分类:
编程语言 时间:
2018-02-23 10:58:05
阅读次数:
170
堆是一种数据结构,最大堆性质:堆中的节点值总是不大于其父节点的值,堆是一颗完全二叉树。 堆排序:利用堆将数组进行排序,堆中的根节点存储的是最大值,由此将队中的值先插入操作,再进行去除最大值放到排序数组中,heapify过程。 最大索引堆:堆中存储的元素是数组的索引 ...
分类:
编程语言 时间:
2018-02-18 21:55:00
阅读次数:
247
归并排序:将数组每次分成两部分分别排序,然后逐一合并 快速排序:将数组分成两部分,使得组边部分小于标准,右边部分大于标准,这样就将标准元素放到了排序数组正确的位置 三路快排 ...
分类:
编程语言 时间:
2018-02-18 21:04:53
阅读次数:
194
O(n^2)级别的算法主要包括:选择排序,插入排序,冒泡法排序,希尔排序等 选择排序:选择排序,将后面未排序数组中最小的与前面的元素交换 插入排序,选择前面数组已经排好序的部分合适的插入位置 冒泡法:每次循环将最大的放到挤出到后面位置 ...
分类:
编程语言 时间:
2018-02-18 20:42:48
阅读次数:
180
本文描述了LeetCode 148题 "sort list" 的解法。 题目描述如下: Sort a linked list in O(n log n) time using constant space complexity. 题目要求我们在O(n log n)时间复杂度下完成对单链表的排序,我们 ...
分类:
编程语言 时间:
2018-02-18 17:03:33
阅读次数:
201
https://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2?tpId=13&tqId=11190&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/ ...
分类:
编程语言 时间:
2018-02-13 15:42:11
阅读次数:
171
一 写在开头1.1 本节内容学习C语言中的qsort()函数。二 qsort()2.1 函数原型 函数功能:qsort()函数的功能是对数组进行排序,数组有nmemb个元素,每个元素大小为size。参数base - base指向数组的起始地址,通常该位置传入的是一个数组名参数nmemb - nmem ...
分类:
其他好文 时间:
2018-02-11 17:56:00
阅读次数:
161
地址: http://lintcode.com/zh-cn/problem/subsets/ http://lintcode.com/zh-cn/problem/subsets-ii/ 子集 其实就是一颗子集树 带重复元素的子集 筛选一下分支,排序数组,然后相同的元素只能出现1,...,0...或者 ...
分类:
其他好文 时间:
2018-02-11 12:41:59
阅读次数:
185
现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回 答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上 写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石上 的数合并到一行,所有问题也合并到一行。)样例输入:4 ...
分类:
其他好文 时间:
2018-02-10 15:00:38
阅读次数:
167
题目描述: 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7可能变成是4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 你可以假设数组中不存在重复的元素。 代码实现: 备注:二分查找,取第一个元素为target,然后二分查找,中间元素和target相比较,最终 1. ...
分类:
编程语言 时间:
2018-02-05 14:34:00
阅读次数:
171