算法
文章平均质量分 51
享受奔跑的过程
这个作者很懒,什么都没留下…
展开
-
二分查找
二分查找针对的是已经排好序的数组。本文用C++实现,代码如下:int binarySearch(vector<int>& nums, int target) { int left = 0; int right = nums.size() - 1; while (left <= right) { int middle = left原创 2016-10-17 09:45:06 · 295 阅读 · 0 评论 -
leetcode 215: the Kth Largest in array
问题描述: 给定一个整形数组array, 一个整型值k,寻找数组array中第k大的数,假定k值总有效,即0<=k<=array.length -1算法 SELECT 输入: n个元素的数组A[1…n]和整数k, 1<=k<=n。 输出:A中的第K大元素。 1、 select(A, 1, n, k) 过程 select(A, low, high, k)原创 2016-10-17 13:43:03 · 309 阅读 · 0 评论 -
leetcode 46: permutations
生成排列 用数组P[1…n]来存放每一个排列。 算法一: 假定可以生成n-1个数的所有排列,那么就可以扩展方法来生成1,2,… ,n这n个数的排列,方法如下。生成数2,3,…, n的所有排列,并且在每个排列的前面加上数1,接下来,生成数1,3,4, … ,n的所有排列,并且在每个排列的前面加上数2.重复这个过程直到最后生成1,2,… ,n-1的所有 排列,并且在每个排列的前面加上数n。原创 2016-10-19 17:37:47 · 580 阅读 · 0 评论 -
leetcode 28: Implement strStr() (KMP算法)
关于KMP算法,关键是部分匹配表的计算,本人觉得阮一峰的关于KMP算法的理解写的很好,文章地址http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html以下是C++代码,在leetcode 28上为AC。不过运行时间超慢,请大家多多指正。class Solution { public原创 2016-10-20 09:30:29 · 391 阅读 · 0 评论