首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
废ker
字节跳动_大数据研发工程师
关注
已关注
取消关注
@废ker:
数组-刷题算法总结篇
数组。最基础的一种数据结构,无论是什么样的算法题,大部分都会涉及到对数组的操作。如何有效的利用数组,并且在数组上运用各种算法进行题目求解,是我们学习的目标。常见的基于数组的问题:排序二分查找双指针滑动窗口模拟数组基础数组不同于链表,标准定义:「数组是存放在连续内存空间上的相同类型数据的集合」所以,数组的相邻元素的地址是连续的。同时,可以根据下标来取数组对应位置的值(数组的索引从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
中国石油大学(华东) 客户端其它
求私
点赞
回复
分享
发布于 2024-03-05 00:55
山东
暂无评论,快来抢首评~
相关推荐
03-03 19:02
河北工程大学 Java
springboot这·哥将的太清晰了,面试遇到了问ioc的管理本质是接口,回头重看发现讲的太好了
开工第一帖
点赞
评论
收藏
分享
03-02 16:29
字节跳动_TT图文_研发(实习员工)
再战27暑期实习!Shoppe虾皮 广告搜索一面
1. 自我介绍 略 2. 算法题(全英文) 平均值大于阀值的子数组(力扣原题) 非常规题: 有一个sentense数组,里面有用户使用过的英语语句数据,类似于["i love you","i love the dog","i promise"] 让有一个count数组,记录了每个语句的使用次数,类似于[10,20,30] 现在用户每输入一个字符,你需要返回topK的语句数据。 举例: 用户输入i,你需要返回top 2,那么就返回["i love the dog","i promise"] ...
开工第一帖
点赞
评论
收藏
分享
03-02 19:14
新乡学院 嵌入式软件开发
逗我呢兄弟们,我没啥追求,就想有个小公司就行了,投了200份就一个面试?
zbk1:
学院本找嵌入式我觉得不太行,不要被培训班忽悠了,老老实实读个研吧。
点赞
评论
收藏
分享
02-28 15:30
嵌入式软件开发
嵌入式工作推荐
家人们,有没有推荐的嵌软中大厂可以尝试一下,学历不是很过关,自认学习能力还可以,项目经历也一般般,很多厂投完直接学历筛掉了,对嵌入式的公司了解的还是不够多不知道哪些是还可以的厂。下面是我的简历,大家也拷打拷打
点赞
评论
收藏
分享
02-27 21:07
清华大学 Java
小厂转正机会要把握吗
刚参加工作时,我也反复思考过一个问题:小厂的转正机会,要不要把握?坦白说,最初我更在意平台的大小和名气。总觉得大公司意味着更好的资源、更高的起点,也更有面子。但慢慢地我意识到,真正决定成长速度的,并不只是公司的规模,而是自己能不能在岗位上沉淀能力。在我看来,转正首先代表的是一种确定性。能从试用期走向正式岗位,本身就是一种认可。它意味着我具备了基本的专业能力,也意味着我可以更稳定地规划下一步。与其在各种选择之间摇摆,不如先抓住眼前真实存在的机会,把手里的工作做好。另外,我也逐渐明白,小平台未必意味着小成长。很多时候,分工没有那么细,我能接触到更完整的工作流程,从沟通到执行,从问题到解决,参与感更...
有转正机会的小厂实习值得...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我做过的,被面试官夸爆的那些Ai项目(一)
1.5W
2
...
AI岗面试必问,附上我的回答思路
9728
3
...
暑期实习 字节三面
9620
4
...
我做过的,被面试官夸爆的那些Ai项目(二)
8802
5
...
3.2字节AI开发春招一面
6944
6
...
腾讯一面面经
6241
7
...
面试官问“RAG各模块的优化策略有哪些”,怎么回答?
5962
8
...
京东一面面经
4564
9
...
腾讯提前批一面面经(挑战全网最晚hhh,热乎的~)
3927
10
...
腾讯 一面
3120
创作者周榜
更多
正在热议
更多
#
实习生至暗时刻
#
6903次浏览
128人参与
#
AI求职记录
#
3125次浏览
138人参与
#
神州信息求职进展汇总
#
2253次浏览
47人参与
#
交出你的校招焚诀
#
2405次浏览
53人参与
#
你见过最离谱的招聘要求是什么?
#
260764次浏览
1758人参与
#
面试___岗的必刷题单
#
3937次浏览
68人参与
#
通信和硬件还有转码的必要吗
#
92896次浏览
603人参与
#
机械制造薪资爆料
#
1950822次浏览
11058人参与
#
AI面试问题分享
#
6200次浏览
138人参与
#
哪些公司开暑期实习了?
#
7317次浏览
59人参与
#
三月的小目标
#
4172次浏览
83人参与
#
春招开局,你有保底offer吗?
#
11259次浏览
118人参与
#
实习生的生存小技巧
#
3427次浏览
78人参与
#
你经历过哪些AI幻觉?
#
2376次浏览
49人参与
#
小厂一定不能去吗?
#
12826次浏览
125人参与
#
找AI工作应该卷什么?
#
1583次浏览
37人参与
#
薪资爆料
#
387836次浏览
2159人参与
#
面试时间长是好事吗?
#
129736次浏览
742人参与
#
参加哪些竞赛对找工作有帮助?
#
31343次浏览
234人参与
#
你今年的保底offer是哪家
#
172202次浏览
722人参与
#
十二月请对我好一点
#
84771次浏览
688人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务