Leetcode
默默努力的人
这个作者很懒,什么都没留下…
展开
-
leetcode训练—三数之和
思路:定义三个下角标指针,k,i,j>>>>>i=k+1,j=n-1 (n为数组长度)num[k] > 0 ,如果num[k]比0大的话,num[i] 和 num[j] 就更大了,三个数加起来不可能为0i<j and num[i-1]=num[i] ; i++ ; i<j and num[j+1]=nu...原创 2020-03-26 22:28:46 · 198 阅读 · 0 评论 -
leetcode—反转字符串里的单词
class Solution(object): def reverseWords(self, s): """ :type s: str :rtype: str """ words = [] for word in s[::-1].split(): words...原创 2020-03-26 20:13:57 · 77 阅读 · 0 评论 -
最长公共前缀
class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ # 首先判断是否是空的字符串 if not strs: retu...原创 2020-03-24 16:07:03 · 107 阅读 · 0 评论 -
编辑距离
class Solution: def minDistance(self, word1: str, word2: str) -> int: n1 = len(word1) n2 = len(word2) dp = [[0] * (n2 + 1) for _ in range(n1 + 1)] # 第一行 ...原创 2020-03-23 16:16:17 · 104 阅读 · 0 评论 -
最长上升子序列问题
# Dynamic programming.class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if not nums: return 0 dp = [1] * len(nums) #初始化dp[i]中的每个元素的子序列长度都为1 for i in r...原创 2020-03-21 17:20:53 · 62 阅读 · 0 评论 -
零钱兑换问题
动态规划,自下而上的方法class Solution: def coinChange(self, coins: List[int], amount: int) -> int: dp = [float('inf')] * (amount + 1) dp[0] = 0 for coin in coins: ...原创 2020-03-21 15:33:36 · 124 阅读 · 0 评论 -
最大子序列和问题
class Solution: def maxSubArray(self, nums): length = len(nums) if length==0: return None if length==1: return nums[0] if max(nums) < 0: return max(n...原创 2020-03-21 15:05:58 · 90 阅读 · 0 评论