![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
Dreamer_Yetmare
这个作者很懒,什么都没留下…
展开
-
LeetCode: Game of Life
思路:用count记录每个ceil四面八方live ceil的数目,然后根据count的值决定当前ceil是1还是0注意:这里要用一个新数组newBroad来保存当前ceil的新值,不能在broad上进行代码:public class Solution { public void gameOfLife(int[][] board) { int m = boa原创 2015-10-08 22:41:33 · 336 阅读 · 0 评论 -
leetcode: Sliding Window Maximum
代码:public class Solution { public int[] maxSlidingWindow(int[] nums, int k) { int[] res = new int[nums.length-k+1]; int count = 0; if(nums.length == 0) {原创 2015-10-09 15:03:40 · 303 阅读 · 0 评论 -
leetcode: Minimum Path Sum
题意:给定一个由非负整数组成的m*n矩阵grid,找到一个从左上角到右下角最小的路径和思路:动态规划。原本用的递归,结果超时,后来改成动态规划,AC了。。先上超时代码吧,也算一次总结:public class Solution{ public int minPathSum(int[][] grid) { return minSum(0, 0, grid, 0);原创 2016-01-18 21:47:58 · 325 阅读 · 0 评论 -
leetcode: Unique Paths II
思路:另建一个整形数组,第一行和第一列赋值,用于存放各个点的路径,然后将障碍点的路径数设置为0即可。根本还是P[i][j] = P[i-1][j] + P[i][j-1]代码:public class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int m = obstacleGri原创 2016-01-05 11:28:39 · 375 阅读 · 0 评论 -
leetcode: 4Sum
思路:现将给定数组中的元素两两求和,并用Map存储,key是和值,value是求和的两元素值及其下标。然后遍历key集合寻找其中和为0的两个key值,并排除重复元素,即可确定代码:public class Solution { public List> fourSum(int[] num, int target) { List> res = new ArrayList>();原创 2016-01-05 20:29:21 · 287 阅读 · 0 评论 -
leetcode: Summary Ranges
思路:为方便运算,将给长度为len的给定数组nums扩展为长度为len+1的tmpNums,最后一个元素只要比其前面的元素差值超过1即可。记录起始m,终止i。先判断是否连续。不连续:再比较m与i-1是否是同一位置如果是,则直接加入输出列表;如果不是,则将i-1位置上的元素加入字符串,并加入到输出列表。连续:直接扫描下一个元素代码:public class Solution { pu原创 2016-01-06 13:02:13 · 352 阅读 · 0 评论 -
leetcode:Permutations
题意:给定一个包含不同数的集合(len个),返回所有的排序(全排序)。思路:先算出全排序的个数(n!),然后循环n!次,每次根据pre(上一个排序)来求cur(当前排序)nextPermutations实现,并将cur添加到输出结果,然后设定pre = cur来用于求下一个排序代码:public class Solution { public List> permute(int原创 2016-01-13 21:29:24 · 353 阅读 · 0 评论