- 博客(11)
- 收藏
- 关注
原创 使用最小花费爬楼梯
/因为可以跳一个或两个台阶,所以到达第i个台阶的最小花费为到达第i-1个台阶的花费与到达第i-2个台阶的花费的最小值。//初始化dp数组,由题意得,可以在下标为 0 或下标为 1 的台阶开始爬楼梯,既0和1台阶的最小花费为0。//到达第i-1个台阶的花费加上在i-1台阶起跳花费的值,既dp[i-1]+cost[i-1]//根据题意,有i个台阶时,终点为第i+1个台阶,所以数组长度为costSize+1。- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。- 支付 1 ,向上爬一个台阶,到达楼梯顶部。
2024-10-04 13:27:58 427
原创 零钱兑换(C)
/进行判断,满足上述条件时,当前金额所需硬币数为-1,既无解。//且并不是最少硬币数时,进行值覆盖,直到所有硬币金额都被遍历。//由于题目要求如果没有任何一种硬币组合能组成总金额,返回 -1。//如果当前硬币金额小于等于所求金额,且硬币金额和为所求金额。//定义数组用来存放1到amount金额所需的最少硬币数。如果没有任何一种硬币组合能组成总金额,返回。//所以将数组初始值赋值为-1,,表示不同面额的硬币;//内层循环遍历每一个硬币金额。//当金额为0时,所需硬币为0。//外层循环遍历每一个金额。
2024-09-14 21:22:16 387
原创 重新分装苹果
个包裹中的苹果重新分装到箱子中,返回你需要选择的箱子的。总容量大于或等于苹果的总数,所以可以完成重新分装。,同一个包裹中的苹果可以分装到不同的箱子中。使用容量为 4 和 5 的箱子。请你选择一些箱子来将这。
2024-09-10 21:32:15 321
原创 盛最多水的容器
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。//判断左右板谁小,若要使面积最大,则板和板之间的距离要尽量长。//所以需要判断现在面积与之前面积的大小,保留大的面积。//当左板的数组索引大于等于右板时停止寻找。//虽然板长了,但是板之间的距离变小了。//从木桶两边寻找,并保存初始面积。//所以移动短板,保留长板。轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。//定义函数返回两个数最小值。
2024-09-09 17:42:31 649
原创 最小路径和(C)
/双循环遍历每一个格子,由于最上边和最左边情况特殊,所以循环起点从1开始。//循环结束,到达所有格子的最小路径和均被计算出,只需返回终点即可。//得出当在最上面时,路径和为当前格子路径和加其左边的路径和。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。//由此可得,在最上边和最左边的走法有且只有一种。因为路径 1→3→1→1→1 的总和最小。//由于题目要求只能向下或者向右走。//判断到达当前格子所需的最短路径。每次只能向下或者向右移动一步。//在最左边时,同理。给定一个包含非负整数的。
2024-09-08 10:07:21 800
原创 二分查找(C)
/此时数组下标最小值为数组中间值下标加1,下标最大值不变,既l=m+1;//当target大于数组中间值,target就可能在数组中间值右边。//此时需要再次查找,但只需在数组中间值右边查找即可,由此得出。//当target等于数组中间值,返回m,既数组中间值的下标。//由于数组为升序,所以只需要将target与数组中间值做对比。//既可知道target是在数组中间值的哪一边。//将数组的下标最小值与下标最大值存放。//求数组中间值的下标。,如果目标值存在返回下标,否则返回。
2024-09-07 09:10:38 324
原创 不同路径(动态规划),c
/既dp[i][j]=dp[i-1][j]+dp[i][j-1];//按题目要求得出,当前格的最多路径数为其上面和左边的最多路径数和。//输出终点的最多路径数,由于数组索引从0开始,所以m和n需要减1。//遍历每一格,由于上述条件,所以从格子横竖坐标从1开始。//由于题目要求只能往右或者下走,所有可以得出。//当走在最上面和最左边时,有且只有一种情况。//所以得出走在最上面和最左边时,路径数为1。1. 向右 -> 向下 -> 向下。2. 向下 -> 向下 -> 向右。3. 向下 -> 向右 -> 向下。
2024-09-05 20:46:42 276
原创 统计数字问题
输入正整数n,统计从1到n的所有数值中,0,1,2....、9各出现多少次。//将i的值赋给u,防止后续计算改变i的值影响循环。//截取每一位,并与二维数组相匹配,开始计数。//创建二维数组,来存放每个数的出现次数。
2024-09-05 16:53:53 266
原创 打家劫舍(动态规划),c
偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。//分情况判断,当只有一户人家,则数组长度为1,偷的最多的情况只有一种,既nums[0]偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。//dp[i]=dp[i-2]+dp[i],dp[i-1]两者的最大值。//当有两户人家,数组长度为2,偷的最多的情况为二者最大的一个,//和上述两种情况一样,给dp[0],和dp[1]的值。,一夜之内能够偷窃到的最高金额。
2024-09-04 21:27:58 876
原创 求质数因子
输出它的所有质数的因子。(如180180的质数因子为22、22、33、33、55)//便历所有可能被n整除的数,因为1不是质数,所以起点从2开始。//求出能被n整除的数,并调用函数判断是否为质数。//改变n的值为除后值。//定义函数,判断传入参数是否为质数。
2024-09-03 17:48:43 342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人