算法
棒棒666
坚持
展开
-
Leetcode232. Implement Queue using Stacks
原题 Implement the following operations of a queue using stacks.push(x) – Push element x to the back of queue. pop() – Removes the element from in front of queue. peek() – Get the front element. empt原创 2016-12-12 09:46:21 · 253 阅读 · 0 评论 -
查找算法之二分法查找
本文利用Java实现二分法查找 思想: 在二分查找算法中,数列已经排好序,对于要搜索的数字,我们从中间的数开始搜索,如果目标数小于中间数,则无需搜索右边的数,因为右边的数都大于中间的数,直接搜索左边的数就可以;如果目标数大于中间数,则无需搜索左边的数,因为左边的数都是小于中间数,直接搜索右边的数 注意的地方: 1、数列是排好序的,否则无法进行二分法查找 2、数列中的元素的值不能重复 3、原创 2016-12-03 12:00:10 · 3398 阅读 · 0 评论 -
Leetcode225. Implement Stack using Queues
该题和232题类似,思想上差不多232题 原题 Implement the following operations of a stack using queues.push(x) – Push element x onto stack. pop() – Removes the element on top of the stack. top() – Get the top element.原创 2016-12-12 16:41:05 · 215 阅读 · 0 评论 -
Leetcode162. Find Peak Element
原题 A peak element is an element that is greater than its neighbors.Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.The array may contain multiple peaks, in that原创 2016-12-08 10:48:56 · 155 阅读 · 0 评论 -
Leetcode118. Pascal's Triangle (杨辉三角)
原题 Given numRows, generate the first numRows of Pascal’s triangle. For example, given numRows = 5, Return[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]思路 给出你行数,给出杨辉三角;杨辉三角如上图所示;可以吧杨原创 2016-12-22 21:57:25 · 220 阅读 · 0 评论 -
数组排序(冒泡、选择、插入、快排、希尔、桶排序、堆排序)
1、冒泡排序 它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此操作,直到整个数列都有序为止. 冒泡排序的时间复杂度是O(N2),是算法稳定的。 算法稳定性 – 假设在数列中存在a[i]转载 2017-02-28 10:34:56 · 555 阅读 · 0 评论