- 博客(4)
- 收藏
- 关注
原创 基于C++的棋盘多米诺骨牌放置方案计数程序解析
如果未放置且下方方格(当不是最后一行时)也未放置,则可以在当前方格和下方方格放置一个多米诺骨牌,标记这两个方格为已放置( Chess[i][j]=Chess[i+1][j]=1 ),然后递归调用 Domino 函数处理下一行的第一个方格( Domino(i+1, 0) )。当当前方格不在最后一列时,如果该方格未放置,会先检查下方方格(当不是最后一行时)是否可放置,如果可以,则放置并递归处理右移一格后的方格,然后恢复状态。接着再检查右边方格是否可放置,如果可以同样进行放置、递归右移和恢复状态的操作。
2024-12-13 08:30:00
629
原创 LeetCode——136.只出现一次的数字
这里定义了一个名为 Solution 的类,并且在类中声明了一个公共的成员函数 singleNumber ,它接受一个 vector<int> 类型(即整数向量)的引用参数 nums ,表示要处理的整数集合,函数的返回值类型为 int ,用于返回在 nums 中只出现一次的那个整数。同时定义了一个整型变量 ans ,并初始化为 0 ,这个变量将用于存储最终找到的只出现一次的那个数字,利用异或运算的初始值特性(任何数与 0 异或都等于其本身),后续会不断通过异或操作更新它的值。
2024-12-12 08:45:00
481
原创 LeetCode——三数之和
i++) ,这个循环用于遍历数组 nums。它的目的是在满足 j < k - 1 的条件下,尽可能地将 k 指针向左移动,直到nums[i]+nums[j]+nums[k - 1]<0。这样做的好处是减少不必要的计算,因为如果nums[i]+nums[j]+nums[k - 1]>=0 ,那么 nums[i]+nums[j]+nums[k] 更有可能大于0,所以可以提前将 k 指针向左移动。
2024-12-11 08:30:00
518
原创 力扣——最小覆盖子串
check 函数用于检查当前 cnt 中记录的字符数量是否满足 ori 中的要求。它遍历 ori 中的每一个键值对,如果在 cnt 中对应的字符数量小于 ori 中的数量,就返回 false ,只有当 cnt 中所有相关字符的数量都不小于 ori 中的数量时,才返回 true。ori 用于存储字符串 t 中每个字符出现的次数,是目标字符计数的基准。cnt 用于在遍历字符串 s 的过程中,统计当前窗口内各个字符出现的次数。通过这种滑动窗口的方法,可以高效地解决寻找最小覆盖子串的问题。
2024-12-10 18:59:34
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人