算法-Top K问题

2018-08-16
阅读 2 分钟
2.4k
利用大(小)顶堆所有子节点元素都比父节点元素小(大)的性质来实现的。故可先建立一个包含K的元素的堆,然后便利集合,如果集合元素比堆顶大(小),那就用该元素来替换堆顶元素,同时维护堆的性质,最后遍历结束之后,堆中元素即为最大(小)的K的数。

算法-leetcode

2018-08-13
阅读 27 分钟
1.8k
Given an array of non-negative integers, you are initially positioned at the first index of the array.

算法-剑指offer

2018-08-04
阅读 20 分钟
1.9k
地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?

七大排序

2018-07-29
阅读 7 分钟
1.9k
选择排序 一种最简单的算法:首先找到数组的最小的元素跟一个元素交换位置,其次在接下来的元素中找到最小的元素与数组的第二个元素交换,如此往复。 特点: 运行时间与输入无关:需要N^2/2次比较 数据移动是最少的:只需N次交换 不稳定,例如:(2,2,5,4,7,8,1) {代码...} 冒泡排序 从左到右不断交换相邻逆序的元素,...