首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
11-10 08:50
文远知行_感知算法工程师(准入职员工)
文远知行内推,文远知行内推码
恍恍惚惚也实习快半年了,工作主要是后端开发。 进了才知道是自动驾驶头部的明星初创(不是的话别打我🫣)。每天从家走路15min/骑车5min到公司属实很爽。 整体规模不大,工作内容还是很丰富。从python后端到java后端,中间又穿插了一个月前端开发(噩梦hhh),以后很可能还会涉及scala。长远来看,应该还是java和scala为主,go也有使用但是不清楚我会不会用上。 我本身是第一段开发实习,加上底子很弱,确实学到很多也成长很多。被分到各种任务有时候还是蛮慌张的,好在结果整体还ok! 不提倡狂加班,还是以结果为导向,干完就可以溜溜球。加上通勤很少,整体强度不算很大。组内氛围也是挺不错的...
文远知行公司福利 510人发布
点赞
评论
收藏
分享
11-08 09:16
C++
这个岗怎么样?(baidu)
有没有老哥知道这个岗具体做什么,会不会有什么坑。双非本,面试答的不太好,三次也都过了。
投递百度等公司10个岗位
点赞
评论
收藏
分享
09-17 16:50
西南交通大学 建模仿真工程师
第一个offer
#秋招的第一个offer,大家都拿到了吗
姜大宝131411:
恭喜ing
秋招的嫡长offer
点赞
评论
收藏
分享
09-28 22:08
上海交通大学 C++
这是我卷这么多年应得的
笑着秋招😊:
我一直认为努力有回报是一件很幸福很幸福的事情,恭喜你
点赞
评论
收藏
分享
11-10 10:51
小红书_后端开发_REDstar算法工程师(准入职员工)
小红书内推,小红书内推码
小红书推荐算法面经一面(60min)1、自我介绍(5分钟)2、项目和一些八股(40分钟)- 模型label是什么- 这一结构为什么会有效果提升,分析- embedding怎么得到的- 简单介绍一下sim3、手撕代码(10分钟)- 最大子数组和4、反问二面(40min)1、自我介绍(5分钟)2、项目(20分钟)- 为什么模型有效果- 召回粗排和精排要解决什么问题,选一个最熟悉的讲一下未来的迭代方向- 怎么保证链路一致性3、手撕代码(10分钟)- 给链表的头结点,将其按照升序排列并返回排序后的链表4、反问虽然两次面试前几个小时,面试官都因为临时开会更改了面试时间,让人有点不舒服,但是面试官人真的都...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
2
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
拒了9个offer最终留米,我秋招到底获得了什么?
7610
2
...
在大厂实习被辞了......
6087
3
...
美团java日常实习
3569
4
...
【百日刷题活动】校内团战刷题,抱走牛客娘周边
3538
5
...
我为什么要两次放弃年终奖
3538
6
...
离职前mt给我留的一句话
3418
7
...
数字马力 二面
2643
8
...
在公司实习时如何写笔记?
1977
9
...
秋招最没用的建议就是劝退别人转这转那的
1716
10
...
现在还找不到日常实习的真心可以停止了。信我的兄弟们
1672
创作者周榜
更多
正在热议
更多
#
第一次找实习,我建议__
#
16834次浏览
237人参与
#
面对职场PUA,是忍还是怼?
#
22587次浏览
92人参与
#
从mentor身上学到了__
#
15166次浏览
257人参与
#
你认为工作的意义是什么
#
200715次浏览
1264人参与
#
什么样的公司千万别去
#
13909次浏览
109人参与
#
找工作时遇到的神仙HR
#
1036247次浏览
5585人参与
#
外出实习被同学举报
#
2249次浏览
29人参与
#
你怎么评价今年的春招?
#
140991次浏览
1380人参与
#
你上一次加班是什么时候?
#
115030次浏览
699人参与
#
打工人的至爽时刻or至暗时刻
#
40860次浏览
221人参与
#
AI了,我在打一种很新的工
#
112286次浏览
1272人参与
#
秋招暂停,我将对以下公司做出处罚__
#
27657次浏览
126人参与
#
你的秋招第一面感觉怎么样
#
127417次浏览
795人参与
#
如果今天是你的last day,你会怎么度过?
#
46433次浏览
294人参与
#
秋招我要惩罚这些公司
#
1946次浏览
22人参与
#
你听到的“最没用”的秋招建议
#
18771次浏览
219人参与
#
字节出了豆包coding模型
#
1889次浏览
22人参与
#
韶音科技求职进展汇总
#
58913次浏览
503人参与
#
2025秋招体验点评
#
44481次浏览
458人参与
#
你喜欢工作还是上学
#
81058次浏览
869人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务