Day9力扣打卡

打卡记录

掷骰子等于目标和的方法数(动态规划)

链接

用 fij 表示投了 i 次投骰子得到点数总和,从而得到状态转移方程 fij=fi−1j+fi−1j−1+⋯+fi−1j−min(k−1,j)

cpp 复制代码
class Solution {
public:
    int numRollsToTarget(int n, int k, int target) {
        const int MOD = 1e9 + 7;
        vector<int> f(target + 1, 0);
        f[0] = 1;
        for (int i = 1; i <= n; ++i) {
            for (int j = target; j >= 0; --j) {
                f[j] = 0;
                for (int x = 1; x <= k && x <= j; ++x)
                    f[j] = (f[j] + f[j - x]) % MOD;
            }
        }
        return f[target];
    }
};

长度最小的子数组(双指针 滑动窗口)

链接

满足条件就排出前面的元素,保证满足条件的窗口,然后求解每回窗口坐标的最小值。

cpp 复制代码
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int n = nums.size(), sum = 0, ans = 0x3f3f3f3f;
        for (int i = 0, j = 0; i < n; ++i) {
            sum += nums[i];
            while (j < n && sum >= target) {
                ans = min(ans, i - j + 1);
                sum -= nums[j++];
            }
        }
        return ans == 0x3f3f3f3f ? 0 : ans;
    }
};
相关推荐
青 春 记 忆3 小时前
LeetCode 21. 合并两个有序链表|Python 解法详解
python·算法·leetcode·链表
c238565 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
Sagittarius_A*6 小时前
后量子密码|通识认知 03|量子威胁辟谣:Grover 算法对对称密码的影响与误区
算法·信息安全·密码学·量子计算·pqc·后量子密码
光源【时光寸寸又逢君】6 小时前
第三方平台预览我方级联监控点串流问题排查
c++·iot
键盘会跳舞7 小时前
C++:容器适配器 queue 的源码级拆解
开发语言·c++·queue
YuforiaCode7 小时前
第十六届蓝桥杯 2025 C/C++组 数列差分
c语言·c++·蓝桥杯
QAQo7T7 小时前
Python组蓝桥杯备赛超详细知识点总结笔记_排序算法篇
笔记·python·算法·蓝桥杯·排序算法
千里之行,始于足下sanhai7 小时前
P8686 [蓝桥杯 2019 省 A] 修改数组 - 数字魔法大冒险 题解
c++·算法·动态规划
小星星闪亮登场8 小时前
Codeforces Round 1115 ( Div. 2)
数据结构·c++·算法·贪心算法·排序算法·codeforces
计算机小白一个8 小时前
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
java·数据结构·算法·蓝桥杯