Open smart022 opened 5 years ago
高效刷经验
个人再复述,总结提炼以及更新
题意:算数组内两数和是否等于一个给定数。 解法1:用map存储所有值,然后遍历查找 map[给定数-当前数] 检测存在否 解法2:数组排序,头尾两指针双向移动
题意:算数组内3数和是否等于一个给定数。 解法:2sum 解法2的思路,先排序,三指针,固定头,中尾指针形同2sum
类似3SUM
隔天买卖-为什么题解正确? 设想:单增场景,第一天买最后卖 与 隔天买卖 获利完全一样, 都等于最高价-最低价。 正常场景即非单增序列,可视为分段的单增序列,则每段的处理同上才能获得最多的利润。
高效刷经验
Array类型
个人再复述,总结提炼以及更新
001 Two Sum
题意:算数组内两数和是否等于一个给定数。 解法1:用map存储所有值,然后遍历查找 map[给定数-当前数] 检测存在否 解法2:数组排序,头尾两指针双向移动
015 3Sum
题意:算数组内3数和是否等于一个给定数。 解法:2sum 解法2的思路,先排序,三指针,固定头,中尾指针形同2sum
4Sum
类似3SUM
Best Time to Buy and Sell Stock II
隔天买卖-为什么题解正确? 设想:单增场景,第一天买最后卖 与 隔天买卖 获利完全一样, 都等于最高价-最低价。 正常场景即非单增序列,可视为分段的单增序列,则每段的处理同上才能获得最多的利润。