LeetCode
source_sunshine
一已为之甚,岂可再乎!
展开
-
LeetCode 877. 石子游戏
###1、题目 877. 石子游戏 ###2、题解 首先,一开始我觉得这道题目并不严谨。因为我大略感觉到先手选择的人就能赢得这个游戏,因为你总是可以在当前的选择中选择对自己有利的拿取方式,而后手只能在剩下的机会中选择。可是如果这道题并不限制于偶数堆这个限制的话,先手优势就不存在了(例:【1,100,1】)你怎么拿都是后手赢。所以,我们应该严谨的判断一下数组长度,如果是偶数,就直接返回TRUE,如果...原创 2019-09-04 15:59:12 · 195 阅读 · 0 评论 -
LeetCode 931. 下降路径最小和
1、题目 931. 下降路径最小和 2、题解 定义一个保存状态的二维数组,第一行初始化为A[0],接着剩下行满足状态方程: dp[i][j] =A[i][j] + min(dp[i-1][j-1],dp[i-1][j],dp[i-1][j+1]);分三种情况,当为第一列时,当为最后一列时,当为中间列时。最后取状态数组最后一行中的最小值。 3、代码 //931 class Solution...原创 2019-09-04 17:07:38 · 197 阅读 · 0 评论 -
LeetCode 688. “马”在棋盘上的概率
1、题目 “马”在棋盘上的概率 - 力扣(LeetCode) https://leetcode-cn.com/problems/knight-probability-in-chessboard/submissions/ 2、题解 使用一个dp数组,记录K次跳动之后每个点(i,j)留在当前棋盘的概率值,由于每一步的可能性是8种。所以,结果概率的计算方式是:列举出所有的可能性。用 留在棋盘上的情况...原创 2019-09-07 22:14:07 · 283 阅读 · 0 评论 -
LeetCode 376. 摆动序列
1、题目 376. 摆动序列 - 力扣(LeetCode) https://leetcode-cn.com/problems/wiggle-subsequence/submissions/ 2、题解 这题采用动态规划的方式使用一个二维数组记录当前位置元素的摆动序列长度。 dp[i][1]和dp[i][0]分别代表最长摆动序列以‘上升沿’结尾和最长摆动序列以‘下降沿’结尾。(注:上升沿是指小到大,下...原创 2019-09-12 17:21:27 · 179 阅读 · 0 评论 -
LeetCode 22. 括号生成
1、题目 22. 括号生成 - 力扣(LeetCode) https://leetcode-cn.com/problems/generate-parentheses/ 2、题解 本题主要是解决两个问题,第一步是得到n对括号的排列组合方式,这个必须将左右括号分开排列组合。不然就只有一种。这样的话只需要通过递归的方式将n个左右括号排列组合的可能全部形成String值,装到List中即可。第二步,是得到...原创 2019-09-18 17:20:38 · 150 阅读 · 0 评论