- 博客(7)
- 收藏
- 关注
原创 dfs,对超时的优化。给出一个正整数aa,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=a也是一种分解
给出一个正整数aa,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1
2024-01-23 14:43:43
1039
1
原创 【入门】查找子串并替换(巨巨巨详细)
比如:将“abcf abdabc”中的“abc”,替换为“AA”,则替换结果为“AAf abdAA”,而将“abcf abdabc”中的“abc”替换为“abcabc”,则替换结果为“abcabcf abdabcabc”。本题查找子串时注意,大小写完全一致,才能作为子串,比如:在“Abcf abd Abc”中,如果找字符串“abc”是不存在的。此时将c直接覆盖在需要更换的位置,但是后面不要改的也换了,所以需要还原不需要更换的,此时用上之前已经复制好的temp[],只有一行,为替换好的字符串。
2023-12-01 23:20:15
2254
1
原创 二维前缀和(模板)
给你一个 n 行 m 列的矩阵 A ,下标从1开始。接下来有 q 次查询,每次查询输入 4 个参数 x1 , y1 , x2 , y2请输出以 (x1, y1) 为左上角 , (x2,y2) 为右下角的子矩阵的和,
2023-11-28 21:58:06
328
原创 跳跃游戏(动态规划)
话不多少,直接上开胃菜。给定一个非负整数数组nums,假定最开始处于下标为0的位置,数组里面的每个元素代表下一跳能够跳跃的最大长度。如果能够跳到数组最后一个位置,则输出true,否则输出false。
2023-11-26 21:11:23
1333
1
原创 凑硬币(动态规划)
我们可以用dp[i]来表示凑出i元需要的最少硬币,现在的问题就是求dp的转移方程。我们每次可以选择面值为1,7,或者11的硬币,按照我们经验,一般都是尽量用11元的,然后用5元的,最后用1元的,这就是贪心思想。所以状态转移方程应该是dp[i]=min(dp[i-1],dp[i-7],dp[i-11])+1。今天你手上有无限的面值为1,7,11元的硬币。最终,我们可以计算出dp(n)来得到凑出总价值为n的钱所需要的最少硬币数。如果给我们15元的话,那么两枚7元的硬币和1枚1元的无疑是最优选择。
2023-11-25 16:42:16
234
原创 打家劫舍2
你是一个经验丰富的小偷,准备偷沿湖的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家,如果偷了第二家,那么就不能偷第一家和第三家。沿湖的房间组成一个闭合的圆形,即第一个房间和最后一个房间视为相邻。由于我们去偷了一号就不能去偷最后一号,所以可以分为两种情况,第一种是偷1号房间,一种是偷最后的房间而不去第一个房间。//如果我们去偷了第i个房间,那么第i-1号房间就不能偷,如果我们不去第i号房间,那么我们可以去//i-1号房间。
2023-11-24 22:32:43
341
1
原创 C语言双指针快速排序
首先选取第一个数为基准值,通过指针的移动和值的交换,使得在基准值左边的是小与基准值的,右边的数大于基准值,最后将基准值放到中间,。按照这个思路,进行递归,不断改变基准值和上限(或者下限),直到排序完成。
2023-11-17 20:32:06
121
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人