力扣150

五、多数元素

一开始是使用两个for循环嵌套,但是对于较长的数组运行时间较长,效率低。最终学习了一种Boyer-Moore投票算法,该算法可以在O(n)的时间复杂度内找到数组中出现次数超过一半的元素。这种思路单纯很难想到,很强。

还有一种方法就是哈希表,但遇到数值极大或者负数怎样很好的处理呢?

七、买卖股票

个人思路:主要针对大于三天的情况。假设第一天最低,循环一次,如果有更低就买入;买入后在与后面几天对比,最高卖出。

问题:出发点错误了,主要时求最大差值。。。。。。。

显然,如果我们真的在买卖股票,我们肯定会想:如果我是在历史最低点买的股票就好了!太好了,在题目中,我们只要用一个变量记录一个历史最低价格 minprice,我们就可以假设自己的股票是在那天买的。那么我们在第 i 天卖出股票能得到的利润就是 prices[i] - minprice。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值