T64 最小路径和
解题思路: 得到最后的答案只需要知道上方一个的值和左边位置的值,取其中较小的和当前位置相加,数组除了第一行和第一列之外都是同样的计算方式 第一行只能从左边一路相加过来,第一列只能从上往下一路相加 最后…
桌桌
解题思路: 得到最后的答案只需要知道上方一个的值和左边位置的值,取其中较小的和当前位置相加,数组除了第一行和第一列之外都是同样的计算方式 第一行只能从左边一路相加过来,第一列只能从上往下一路相加 最后…
题目描述 思路:记录每个数字出现的次数,判断如果只出现一次,就返回,为了减少所用时间,用字典来存储减少查询所花费的时间。 代码如下: class Solution: def singleNumber(self, nums: List[int]) -> i…
题目描述: 思路:出现两次的数,二进制位上对应的位也出现两次1和0,类似于按位异或,将所有数都异或操作后得到最后的数。 代码如下: class Solution: def singleNumber(self, nums: List[int]) -> int: …
题目描述如下: 解题思路: 这部遍历看看?(明知应该会超时) 代码如下: class Solution: def maxProfit(self, prices: List[int]) -> int: length = len(prices) maxXmin = 0 f…
题目描述如下: 解题思路: 每一个检查一下,一直到链表最后就好啦 代码如下: # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = v…
题目描述: 解题思路: 对于每个楼梯状态,我只需要知道之前的一个和之前两个楼梯有多少种方法然后将他们加起来就可以了 代码如下: class Solution: def climbStairs(self, n: int) -> int: if n …
题目描述如下: 解题思路: 先不看那两个链表,首先搞个head,pcur,我们只关注pcur应该接哪个节点,接下来就只要比较两个链表当前的值了,用两个指针p1,p2指向两个链表l1,l2. 对于不同的情况进行操作(主要指其…
自己模拟的查找的过程,没想到第一次过就得到了比较高效的代码: 思路是这样的:我们在人工选的时候,会有一个开始数的起始位置,记录从这个起始位置cstart开始,到目前i之前都是没有重复的字符的,现在我们判断i…
用类似于加法器的思想,从低位加起,得到前一位的进位acc加在后一位上,计算得到当前的数字num和进位acc。对于比较小的数,高位进行判断是否存在,不存在就用0代替。 # Definition for singly-linked list. # clas…