基础算法(Leetcode)刻意练习训练营:第八天打卡

今天的题目是83. 删除排序链表中的重复元素

昨天学Django学的忘了做题,今天来补。
链表去重,是考察指针使用的基本操作,没有太多花样。

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
    	# 新建一个操作位指针,初始指向head
        cur = head
        # 循环直到整个链表为空 或 尾部为空
        while cur != None and cur.next != None:
            # 如果链表当前节点 与 下一个节点值相同
            if cur.val == cur.next.val:
            	# 当前节点的下一个节点 直接指向下下个节点
                cur.next = cur.next.next
            else: 
            	# 如果不相等,则移动操作指针到下一个
                cur = cur.next
        # 返回操作后的链表
        return head

Your runtime beats 50.94 % of python3 submissions
Your memory usage beats 12.75 % of python3 submissions (13.3 MB)

力扣每日一题:322. 零钱兑换

class Solution:
    def coinChange(self, coins: List[int], amount: int) -> int:
        dp = [float("inf")] * (amount + 1)
        dp[0] = 0
        for i in range(1, amount + 1):
            dp[i] = min(dp[i - c] if i - c >= 0 else float("inf") for c in coins ) + 1
        return dp[-1] if dp[-1] != float("inf") else -1

Your runtime beats 90.25 % of python3 submissions
Your memory usage beats 24.21 % of python3 submissions (13.4 MB)

动态规划我能说我不会吗。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值