- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 dfs的重复和不重复
3+7+19=29.但是dubug一下发现输出了6次29。很容易联想到这是三个数排列的顺序有6种,说明结果将换了顺序的三个数也当成了一组不同解。那么如何避免重复呢?我们可以给dfs函数增加一个参数start,每次取值从start开始,每次递归i+1。运行,结果是6,但是正确答案是1,那我们不妨思考一下为什么会输出6。这样每次选数都不会选到目前这个数前面的,保证了组合的唯一性。题目如图,我们可以轻松写出一个dfs的选数代码。
2024-10-05 10:14:30 192
原创 归并排序代码
递归到最后两堆各自是排好序的,只是两堆之间的数要比大小。两个指针,左端点 和 中间值+1。q数组 l 到 r 赋值为临时数组。把另一个剩下的加入数组。取中间下标,不断递归。谁值小谁加入临时数组。
2024-09-16 11:29:39 87
原创 整数二分查找(c++)
l,r两个指针,初始在数组的左右外面一位,中点m是(l+r)/2向下取整。首先要知道是用数组存放数据a[],知道数组的大小N,要查找的数k。只有if里面的
2024-07-23 18:04:44 115
空空如也
找完数为什么范围不一样同一个数的因子结果不一样
2023-10-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人