python动态规划刷题

设置一个vip隐私,夹杂一些碎碎念......涉及到一些转自其他佬的题解

🚩flag为留存,等技术强硬再钻一把......

本章记录python算法与动态规划的相关习题

2024.4.9

101.更小的数

        这题题解太抽象了,暴力20%,题解短短几行直接解决,但是依然超时40%,没找到100python,有些是pypy3没整(一样的代码python依然40%)。但dp思路还是可以学学的

        不需要调换顺序,直接比对是s[i]和s[j]即可,用k来表示间隔数目--即理论上的倒叙范围,更神奇的是当相同时比对s[i+1]和s[j-1](因为j是需要倒叙的数,故比较第二位即相当于在原数字后退一位。 更小的数

s = input()
dp = [[0] * 5010 for _ in range(5010)]
ans = 0
for k in range(1, len(s)):
    for i in range(len(s) - k):
        j = i + k
        if s[i] > s[j]:    dp[i][j] = 1
        if s[i] < s[j]:    dp[i][j] = 0
        if s[i] == s[j]:   dp[i][j] = dp[i + 1][j - 1]
        if dp[i][j] == 1:  ans += 1
print(ans)

         先跳一个,回头来dp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值