两种初始化一起跑
补全两个版本:max_sub 从 a[0] 起,max_sub_zero 从 0 起。对 [-3, -1, -4] 各跑一遍,把两个结果拼起来输出(正确的在前)。 (本题用 g++ -std=c++17 -O0 编译。)
爬楼梯的三个边界
补全 climb,然后算 n = 0、1、2 三种情况,把三个走法数拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
三个边界一起验
一次验三种边界:最大子段和遇上全负数 [-3, -1, -4];爬楼梯 n = 0;打家劫舍空数组。三个结果用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
memset 是怎么填的
第 1 步:一个 int 占 4 个字节 第 2 步:memset 把第 1 个字节填成 1 第 3 步:memset 把第 2 个字节填成 1 第 4 步:memset 把第 3 个字节填成 1 第 5 步:memset 把第 4 个字节
memset 能安全填哪些值
给 int 数组用 memset,能安全得到想要的值的是【0】。
想填别的值用什么
想把 int 数组每个元素都设成 1,应该用【0】。
memset 填 1 得到几
本平台 int 占 4 个字节。 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include <vec
memset 填 0x3f 得到几
竞赛里常用 0x3f 当「无穷大」。 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include <v
网格路径表的初始化
补全:5 × 5 的网格,dp 表每一格先设成 1(第一行、第一列都只有一条路),再从 (1,1) 开始填。原来用 memset 填 1,结果全错了。 (本题用 g++ -std=c++17 -O0 编译。)
无穷大别用 memset 填
补全:硬币面值 1、5、11,凑出 15 最少要几枚?dp[x] 初始都是「无穷大」1000000000,dp[0] = 0。原来用 memset 填这个数,结果全是 0。 (本题用 g++ -std=c++17 -O0 编译。)