算法
晋阳
量变引起质变
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法:最小生成树
问题 给出一些Connections,即Connections类,找到一些能够将所有城市都连接起来并且花费最小的边。 如果说可以将所有城市都连接起来,则返回这个连接方法;不然的话返回一个空列表。 注意事项 返回cost最小的连接方法,如果cost相同就按照city1进行排序,如果city1也相同那么就按照city2进行排序。 辅助类: public class Connec原创 2018-01-13 00:49:48 · 249 阅读 · 0 评论 -
算法:螺旋矩阵 I
问题 给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素。 样例 给定如下矩阵: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 应返回 [1,2,3,6,9,8,7,4,5]。 思路 思路比较普通,就是螺旋遍历。 实现 private static List原创 2018-01-13 00:52:12 · 561 阅读 · 0 评论 -
算法:螺旋矩阵 II
问题 给你一个数n生成一个包含1到n^2的螺旋形矩阵 样例 矩阵为 [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 思路 将矩阵转化成一个x轴向右,y轴向下的x0y坐标轴,有助于思考。 思路比较简单,就是螺旋遍历。 实现 public static int[][] generateMatrix(int n)原创 2018-01-13 00:55:48 · 439 阅读 · 0 评论 -
算法:接雨水
问题 Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. 样例 接雨水 如上图所示,海拔分别为 [原创 2018-01-13 00:57:13 · 2495 阅读 · 1 评论 -
教你彻底理解动态规划——扔鸡蛋问题 Drop Eggs2
有一个n层的建筑。如果一个鸡蛋从第k层及以上落下,它会碎掉。如果从低于这一层的任意层落下,都不会碎。 有m个鸡蛋,用最坏的情况下实验次数最少的方法去找到k, 返回最坏情况下所需的实验次数。 样例 给出m=2,n=100返回14 给出m=2,n=36返回8 PO主宅心仁厚的把每一个步骤拆开了揉碎了给你们讲,具体细节我都在每一行的代码之上的注释里写原创 2018-01-06 13:05:17 · 5429 阅读 · 3 评论 -
算法:摆动排序 I & II
摆动排序 I 给你一个没有排序的数组,请将原数组就地重新排列满足如下性质 nums[0] = nums[2] 允许相邻元素相等 思路 先对数组进行排序,然后依次把两两相邻的元素进行交换,最终成为一个波动递增的数列,满足题目要求 实现 public void wiggleSort(int[] nums) { // write your code here原创 2018-01-07 12:24:47 · 709 阅读 · 0 评论 -
算法:寻找丢失的数 I & II
寻找丢失的数 I 问题 给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数 样例 N = 4 且序列为 [0, 1, 3] 时,缺失的数为2。 思路 求出缺失数组和完整数组的和,求差值即答案 实现 public int findMissing(int[] nums) { // write your cod原创 2018-01-06 20:15:39 · 1982 阅读 · 0 评论 -
算法:求最多有k个不同字符的最长子字符串的长度
问题 给定一个字符串,找到最多有k个不同字符的最长子字符串,并返回其长度。 样例 例如,给定 s = "eceba" , k = 3, T 是 "eceb",长度为 4. 第一种思路 将母问题分为两个子问题: 1.如果从从头开始找,求最长k不同子串长度 2.如果从第二个字符开始找,求最长k不同子串长度 然后不断循环递归 实现 public static int原创 2018-01-07 20:19:42 · 2991 阅读 · 0 评论
分享