- 博客(3)
- 收藏
- 关注
原创 数独生成器(回溯)
在最坏的情况下,对于一个空的数独网格,每次填充一个位置都可能需要尝试9个数字,而数独网格有N*N个位置(N = 9,即81个位置)。总的时间复杂度约为O((N*N)^k),在实际中,由于数独本身的约束条件,实际复杂度会远小于这个理论上界,但仍然是指数级的。检查行和列时,各有一个循环,循环次数为 N (在数独中 N = 9 ),时间复杂度为O(N)。总的时间复杂度为O(N),因为O(N)+O(N)+O(1) = O(N)。空格越多,难度越高。:有两层嵌套的循环,循环次数均为 N ,时间复杂度为O(N*N)。
2024-12-12 00:58:01
2163
原创 加油站问题(贪心)
接着倒序遍历数组,在 minminmin 的基础上继续累加 diff[i]diff[i]diff[i],找到让累加和为正的位置 idxidxidx,它即为答案。将 gas[i]−cost[i]gas[i]-cost[i]gas[i]−cost[i] 记为 diff[i]diff[i]diff[i]。如果从第 iii 个站点到达第 i+1i+1i+1 个站点时,对应的 diff[i]<0diff[i]<0diff[i]<0,那就说明第 iii 个站点一定不能作为起点,因为第一段旅途都完成不了!
2024-12-10 23:15:16
1715
原创 分糖果经典问题(C++)
ratings[n-1],则f(n)>f(n-1),那我们就让f(n)=f(n-1)+1;我们发现第一个例子似乎是没有问题的,但是第二个出了点小问题,正确结果应该是2 1 2;我们只让右边跟左边相比较,保证了从左往右看,分数多的糖多,但是相邻是左右都要看。: 已知分数的个数即为孩子的个数设为n,f(n)表示第n个孩子得的糖果数。你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。请你给每个孩子分发糖果,计算并返回需要准备的。
2024-12-05 20:33:01
1147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人