首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
废ker_字节靠谱内推_内推码_EVTA1D5
字节跳动_大数据研发工程师
关注
已关注
取消关注
@废ker_字节靠谱内推_内推码_EVTA1D5:
数组-刷题算法总结篇
数组。最基础的一种数据结构,无论是什么样的算法题,大部分都会涉及到对数组的操作。如何有效的利用数组,并且在数组上运用各种算法进行题目求解,是我们学习的目标。常见的基于数组的问题:排序二分查找双指针滑动窗口模拟数组基础数组不同于链表,标准定义:「数组是存放在连续内存空间上的相同类型数据的集合」所以,数组的相邻元素的地址是连续的。同时,可以根据下标来取数组对应位置的值(数组的索引从0开始)。时间复杂度:根据下标取元素O(1)删除下标为x的元素O(n)Java中可以直接new出一个数组,同时也可以使用ArrayList对象来模拟数组。一维数组的定义:二维数组的定义:排序问题排序是最常见于面试中的问题,但经常以两种形式出现:一种是八股文中,考察对排序算法的理解以及复杂度的理解另一种是考察几种特殊的算法,并且写出代码(常见的比如快排、归并排序等)这里不再单独列出。但偶有时候,仅仅需要数组排序结果的时候,可以使用库函数进行排序:从小到大排序Arrays.sort(arr);// 默认从小到大排序自定义排序方式public class shuzu { public static void main(String[] args) { Integer[] arr = new Integer[10]; arr[0] = 10; Arrays.sort(arr); Arrays.sort(arr, (a,b)->b-a); //如果自定义排序,arr的类型需要设置为Integer类型 Arrays.stream(arr).forEach(System.out::println); }}二分查找二分查找是数组中比较常见的问题,常见问题类型:让你求最大的情况下什么最小,或者最小的情况下什么最大在抽象一下:比如一个数组是有序的,让你求一个元素在这个数组的什么位置;其实就是动态的缩小范围、排除掉不在答案之外的范围在解题的过程中,需要明确关注几个点:左右边界的范围左右边界变化之后,新的左右边界是否维持之前的含义什么时候跳出循环leetcode中常见二分问题:https://leetcode.cn/tag/binary-search/problemset/easy: 搜索插入位置 https://leetcode.cn/problems/search-insert-position/description/mid: 寻找峰值 https://leetcode.cn/problems/find-peak-element/description/hard: 寻找排序数组中的最小值:https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array-ii/description/双指针双指针在解决数组问题或者链表问题中较为常见。基本特征:能够通过两个指针实现在线性结构上遍历,从而来解决问题。常见解题方式:相向而行法:两个指针,一个从左边界移动;一个从右边界移动;两者根据条件的不同,相向而行;到达某一个条件之后,停止移动,得到答案。快慢指针:两个指针,同时从一个点出发,每循环一次,一个走一步,另一个走两步,从而实现一快一慢。(在链表中:快指针到达终点时,慢指针走到快指针的一半)leetcode中常见双指针题目:https://leetcode.cn/tag/two-pointers/problemset/easy: 删除有序数组中的重复项 https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/一个快指针用来指示遇到的数字另一个慢指针用来标识结果位置的数字mid: 三数之和:https://leetcode.cn/problems/3sum/description/滑动窗口滑动窗口主要解决子数组/子序列的问题。可以理解:窗口是可以动态调整大小的(也就是左右边界)通过左右边界的调整,可以满足题目的某些条件,从而能够得到最后的答案。比如满足符合条件的最小窗口长度等。可以将O(n^2)的问题将为O(n)。leetcode中常见滑动窗口题目:https://leetcode.cn/tag/sliding-window/problemset/easy 最长和谐子序列 https://leetcode.cn/problems/longest-harmonious-subsequence/description/典型的滑动窗口题目,求窗口的最大值mid 无重复字符的最长子串:https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/hard: 最小覆盖字串:https://leetcode.cn/problems/minimum-window-substring/description/模拟模拟类型的题目,通常就是考察应变能力主要步骤:题目抽象成模型=>用数组或其他数据结构表示数据=>明白不同状态的转换=>处理边界问题上面提到的是针对数组的常见问题,后续将会出每个板块的专门讲解。
点赞 1
评论 0
全部评论
推荐
最新
楼层
qinsanma
中国石油大学(华东) 哲学类
求私
点赞
送花
回复
分享
发布于 03-05 00:55
山东
网易互娱
校招火热招聘中
官网直投
相关推荐
carbage
05-21 14:38
已编辑
华中师范大学 计算机类
滴滴秋储-服务端开发 OC
timeline:5.14上午一面、二面;5.20oc base:北京 新橙海大厦(想找合租姐妹 )
点赞
评论
收藏
转发
biuhongWA
05-16 17:43
腾讯_后台开发(实习员工)
爱信等启动
出于爱国情怀爱信等一波,虽然不去华子
华为求职进展汇总
点赞
评论
收藏
转发
牛客146600443号
04-14 10:33
门头沟学院 计算机类
你要不噶我个腰子吧,不然这钱我真拿不住
点赞
评论
收藏
转发
一只爱飞翔的猪
04-15 09:19
门头沟学院 计算机类
破公司还在招人,真是招不着人了
笑死我了,天天招人。是不是招不到人了,哈哈哈哈。
点赞
评论
收藏
转发
给个off吧要我做什么都行
05-17 09:03
华中科技大学 计算机类
快手客户端平台架构日常实习
一面1h:5.14上来先问,看你是打acm的,你队名是什么,好像遇到ap面试官了网络:浏览器输入url会发生什么(常规八股)TCP如何保证可靠,流量控制(超时重传,滑动窗口机制)集合:说一下ArrayList扩容,说一下泛型你刚才说java是伪泛型,cpp泛型怎么实现的(泛型模板,编译时生成对应代码)多线程:一写多读有什么问题(可见性问题)java中如何解决一写多读问题(答了happensbefore原则)但是面试官好像要问的是cascas底层是什么(昨天面试字节问了,今天又问了,把汇编咋写的说了一遍)信号量是什么(忘了)场景题:应答率低怎么办,如何排查(我从后端角度说了下)算法:全排列(感觉...
点赞
评论
收藏
转发
1
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
写在最后,一个大专人9年的自述
1.4W
2
...
换导师
9736
3
...
双非本 腾讯WXG暑期已offer | 附面经
8764
4
...
爱华信华等华
5210
5
...
开摆了,写小说去了
4977
6
...
没offer的我们也很优秀偶
4945
7
...
华为暑期开奖
4862
8
...
快手客户端开发工程师(1)
4796
9
...
美团本地商业 二面
4732
10
...
滴滴秋储-服务端开发 OC
4409
正在热议
#
牛客帮帮团来啦!有问必答
#
848281次浏览
13305人参与
#
机械制造薪资爆料
#
322984次浏览
3749人参与
#
晒一晒我的offer
#
3497753次浏览
55527人参与
#
金三银四,你有感觉到吗
#
332623次浏览
4244人参与
#
0offer是寒冬太冷还是我太菜
#
431684次浏览
4969人参与
#
实习生如何通过转正
#
28305次浏览
368人参与
#
互联网公司评价
#
86116次浏览
1152人参与
#
我在牛爱网找对象
#
51344次浏览
337人参与
#
运营面经
#
15502次浏览
316人参与
#
如何缓解入职前的焦虑
#
36427次浏览
359人参与
#
海康威视求职进展汇总
#
103106次浏览
1229人参与
#
国企vs私企,你更想去?
#
21416次浏览
219人参与
#
毕业租房也有小确幸
#
27469次浏览
1500人参与
#
荣耀求职进展汇总
#
73576次浏览
747人参与
#
投了多少份简历才上岸
#
61279次浏览
982人参与
#
实习必须要去大厂吗?
#
14706次浏览
235人参与
#
你遇到过哪些神仙同事
#
19357次浏览
284人参与
#
职业发展规划如何回答
#
12420次浏览
85人参与
#
你已经投递多少份简历了
#
312725次浏览
4622人参与
#
实习工作,你找得还顺利吗?
#
43950次浏览
485人参与
牛客网
牛客企业服务