array easy summery
array(easy) summary
1、其中关于计算数组中两个数字的和(LeetCode1. Two Sum)还是看一个string 中有没有重复,都是用map<int,int>index或者map<char,int>index.将原来的值作为键值,将下标作为值(LeetCode1.Two Sum),或者用index[nums[i]]++进行计数()
for(inti=0;i<nums.size();i++)
{index[nums[i]]=i;}
2、LeetCode26Remove Duplicates from Sorted Array、LeetCode27Remove Duplicates from Sorted Array都是移动问题,此类问题就是添加一个哨兵,然后根据题目要求对于哨兵的位置进行操作。(需要注意的是这里是要替代原有位置,不能仅仅是删除重复)而且不是重复或要求元素时正常移动i,遇到重复或要求元素,对pos进行操作。
3、leetcode35 Search Insert Position 这种插入,查找的题目都是用二分法。
3、leetcode53Maximum Subarray方法一:(动态规划)遍历查找每段的最大sum。如果当前段的sum已经小于0,则重新开启一段。 注意把max设为第一个值。方法二:(分治法)
4、LeetCode66PlusOne 关于数的加减法 都是要进行每一位剩下的数和进位的数不断地向前循环。
5、LeetCode88 Merge Sorted Array采用后项插入
6、LeetCode118Pascal'sTriangle和LeetCode118Pascal's Triangle2都是找规律计算问题,LeetCode118Pascal's Triangle2注意有些声明和初始化是应该在循环内还是在循环外。
7、121.Best Time to Buy and Sell Stock其实是在已经便利过的前面找最小的,这时可以一边遍历,一边更新最小值. 122. Best Time to Buy and Sell Stock 2采用的是取巧计算的方法。
8、167.Two Sum II - Input array is sorted 用的是双指针问题,通过判断来不断地调整指针。
9、169.Majority Element和LeetCode1.Two Sum中的是一个类型的(map计数)。
10、189. Rotate Array数组翻转注意reverse里的start和end.因为在rotate里要使用翻转的开始和结束的位置。
11、217.Contains Duplicate和LeetCode1.Two Sum中的是一个类型的(map计数)。
12、219. Contains Duplicate II 这个题要注意就是index[nums[i]]=i;是记录了重复数字第一次最新的在数组里的位置。当if(index.find(nums[i])!=index.end()&&(i-index[nums[i]])<=k)第二次在发发现,当前位置i和第一次最新的在数组里的位置的差就是他们之间的间隔。
13、283. Move Zeroes 和LeetCode26中的是一个类型的。(哨兵问题)
14、414. Third Maximum Number 两种方法,第一种,三个数,不断更新初始化要用长整型long的最小值,否则当数组中有INT_MIN存在时,程序就不知道该返回INT_MIN还是最大值first 。第二种set里只有三个数不断更新。
时间复杂度是O(nlogn),不符合题目要求,纯粹是拓宽下思路哈,利用了set的自动排序和自动去重复项的特性,很好的解决了问题,对于遍历到的数字,加入set中,重复项就自动去掉了,如果此时set大小大于3个了,那么我们把set的第一个元素去掉,也就是将第四大的数字去掉,那么就可以看出set始终维护的是最大的三个不同的数字,最后遍历结束后,我们看set的大小是否为3,是的话就返回首元素,不是的话就返回尾元素
其实求前n大数 最好的方法是快速排序。
15、448. Find All NumbersDisappeared in an Array 注意数组中元素和下标的对应关系。利用数组中存在的元素的值作为下标,将此下标的元素变为负数,如果元素没有出现,那么他的下标所对应的的数值就不为0,这就是失踪的元素。
16、485. Max Consecutive Ones最大值的迭代问题。
array easy summery相关推荐
- LeetCode # Array # Easy # 217. Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- 你面试稳了!通关LeetCode刷题完整攻略,省时又高效
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:穷码农 来源:https://zhuanlan.zhihu.com/p/10 ...
- Leetcode 1
Array(Easy) 1. 26 Remove Duplicates from Sorted Array 利用快慢指针,back 指针从 0 开始,front 指针从 1 开始,如果 back和 f ...
- 前端 | 每天一个 LeetCode
这篇文章记录我练习的 LeetCode 题目,语言 JavaScript. 完整题目列表 从 2018 年 11 月 11 日起,每天更新一题,顺序从易到难,目前已更新 93 个题. 题目 源码 公众 ...
- 堆排序时间复杂度_leetcode刷题(二):排序算法(归并排序,堆排序,桶排序)...
今天,我们要来讲讲排序问题,这次讲的排序算法主要是归并排序,堆排序和桶排序. 归并排序 归并一词在中文的含义就是"合并,并入"的意思,在数据结构里面就是将两个或者两个以上的有序数组 ...
- LEETCODE-刷题个人笔记 Python(1-400)-TAG标签版本
1. Array (1) 27. Remove Element(Easy) 给定数组nums和值val,在适当位置删除该值的所有实例并返回新长度. 思路: 不需要使用排序,如果等于该值,则将n-1的值 ...
- LeetCode 力扣算法题解汇总,All in One
作者: 负雪明烛 id: fuxuemingzhu 个人博客: https://fuxuemingzhu.cn 关键词:LeetCode,力扣,算法,题解,汇总,解析 把自己刷过的所有题目做一个整理, ...
- Leetcode算法题-解法转载
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuxuemingzhu/article/details/85112591 作者: 负雪明烛 i ...
- Leetcode题解(超赞!!!)
我是技术搬运工,好东西当然要和大家分享啦.原文地址 算法思想 二分查找 二分查找思想简单,但是在实现时有一些需要注意的细节: 在计算 mid 时不能使用 mid = (l + h) / 2 这种方式, ...
- Leet Code知识点总结 - 594
LeetCode 594. Longest Harmonious Subsequence 考点 难度 Array Easy 题目 Alice has n candies, where the ith ...
最新文章
- python Flask框架如何请求及返回数据——flask详细教程
- android插件框架机制的选择,Android插件开发初探——基础篇
- HDU4416(后缀自动机)
- asp.net mvc处理css和js版本问题
- 求知无限,刷新.NET 中国社区
- 公开课精华 | 无人驾驶中感知的挑战与尝试
- BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
- CAN笔记(13) STM32-M4 bxCAN
- 7天内新闻前加 new
- windows 2003 迁移域控制器到 windows 2008
- loic 工具使用指导
- SnakeYaml使用
- 软考软件设计师下午题目java设计模式(自用)
- 常用网络端口用处归纳
- unity Audio 基础知识二 Audio Mixer
- TeamViewer 如何注册账户?
- Codeforces 417 D. Cunning Gena
- 物联网之散射通信应用
- 2022-2023年控制领域、工程领域、计算机领域、人工智能领域国家重点实验室开放基金申请指南
- 【obs】项目构建环境