自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 力扣加油站C++√

容易想到从x加油站出发经过z加油站到y加油站,在每个加油站都进行加油,再将每段路程消耗的油量汇总,如果加油的汇总大于消耗的汇总,那么可以在x位置到达y位置,如果是小于的话,证明在x到y的路程中,无论是从x出发还是从x到y的路程中的任意站出发,都不能到达y站。cost,若大于则进行计数,若小于则break跳出循环,通过上述循环后,判断计数是否可以循环一个数组回到原位置,若能则返回i,若不能则从上述说的y+1处进行新的循环(i= i+cnt+1)。

2023-12-26 10:58:11 341 1

原创 力扣45题跳跃游戏Ⅱ解题思路

循环的结束条件,或者说跳跃的结束条件是我们可以到达的最远位置大于等于数组的元素个数,所以我们在遍历时,不遍历最后一个元素,因为如果遍历到最后一个元素,循环过程中还会跳跃一步到后面的元素,这是不必要的,还会增加一个不必要的步数,因此不访问最后一个元素。设定maxposition为可以到达的最远位置,使用max函数,maxpos = max(maxpos, i + nums[i]),在遍历过程中,更新maxpos的值,即可以到达的最远的位置的值。

2023-12-14 22:01:51 36

原创 买卖股票的最佳时机思路C++

首先,分析题干,每天交易结束后,手里有两种情况,一是存在一只股票,二是没有股票,所以定义一个二维数组,分别存放第i天的股票价格和当天的收益情况,定义dp[i][0]表示第i天建议完成后没有股票的最大利润,定义dp[i][1]表示第i天交易完成后手里持有一只股票的最大利润。因为最终按照最后一天将手中的股票卖掉才能利润最大化,所以最后手中没有股票的dp[n - 1][0]才是最大收益,故返回值为没有股票的最后一天的利润。第一种为前一天手里没有股票,但是今天手里有股票,所以就是今天买入了股票。

2023-12-13 22:15:59 43

原创 旋转数组-环状替换思路

在循环过程中,从位置0开始进行移动,位置0的元素会放在x=(0 + k) % n的位置上,为了不再次开辟空间,我们在数组上直接进行元素的交换,这样完成了位置0的元素值和位置x的元素值,然后在x位置上进行上述的循环过程,即x1=(x + k) % n,交换x位置和x1位置的元素值,不断进行循环,直到回到初始位置0.确定结束循环的条件比较好理解,当初始位置的索引不等于循环过程中的索引就一直进行本轮的循环,换一句话说当循环过程中的索引等与本轮循环的初始位置的索引时,就停止本轮的循环。以下代码来自力扣方法二。

2023-12-13 16:37:35 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除