算法
蓝色的番茄
没有什么事是你完不成的,完不成只能证明你不够努力。
展开
-
买卖股票的最佳时机
买卖股票的最佳时机 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 动态规划解决 我们可以分为有股票和无股票两种情况 1. 有股票:前一天就买了,今天没卖,此时余额为hold。还有一种是前一天没买,今天买了,此时余额为noHold - prices[i]。我们取两种情况的最大值。 2. 没股票:前一天没买,今天也没买,此时余额为noHold。第二种情况是前一天买了,今天买了,此原创 2021-07-22 14:57:45 · 58 阅读 · 0 评论 -
删除排序数组中的重复项
删除排序数组中的重复项 给你一个有序数组 arr ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 我们可以利用双指针来解决,左指针初始化为0,右指针初始化为1 当左指针的值等于右指针时,做指针不变,右指针右移一位 当左指针的值不等于右指针时,左指针右移一位,然后在与右指针交换值 如图所示,给定一个排序数组,当我们调用方法后,就会返回删除数组的新长度5: public class Demo01 { public static void main(String[原创 2021-07-22 11:01:08 · 127 阅读 · 0 评论