首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
山东
暂无评论,快来抢首评~
相关推荐
08-13 16:42
上海电力大学 热设计工程师
小米你太好了(膜拜膜拜)😭
网上冲浪看到了这个图,小米,原来你一直都在~
点赞
评论
收藏
分享
08-15 17:41
济南大学 Java
小红书-引擎架构- java实习-一&二面凉经
五面小红书全挂了嘻嘻😁一面:1.自我介绍算法:反转单链表,递归写法怎么写,acm格式2.解释下线程和进程的区别3.static 和 const这两个的含义4.java的垃圾回收机制5.反问 感觉像KPI 就没问什么二面:1.自我介绍2.就比如说是个交易系统,比如说我要给谁转账,你不能说失败了,就是我转给他钱,这个事是不能失败的,对吧?嗯,对的,即使失败了也要有这个兜底保障机制的,就我要能够保障这笔操作必然能成功。嗯,那这种我们是可能是什么样一种解决方案?3.那你比如说现在你第一个任务失败了,第二个任务还失败了,你怎么知道他失败了两次?你怎么知道要重试两次。(说了增加计数器)4.那我再延伸一下...
查看12道真题和解析
点赞
评论
收藏
分享
08-08 10:15
门头沟学院 Java
简历指正
项目只做了烂大街的外卖和点评,目前在小厂实习,在公司在项目bug,但鼠鼠人弄不懂这么庞大的项目,只好借助AI修改bug,感觉没学到什么知识,实习工资也只够倒贴实习。该如何完善简历啊,梦想是去一家有下午茶的公司,孩子贪吃,想鼠了
实习如何「偷」产出?
点赞
评论
收藏
分享
08-11 17:48
辽宁大学 财务
秋招的每一天
投秋招已经快两周,每天就是投投投到厌倦然后躺床上刷痘印越刷越焦虑
驼瑞驰_招募评论官版...:
你把牛客放中间,那你必得offer的
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
小红书java一面
5560
2
...
该不该给领导买东西啊...
4600
3
...
美团今天的ai coding笔试允许用ai吗
3554
4
...
百度提前批一面凉经!继续复习!
3455
5
...
大疆结构秋招一面
3407
6
...
小红书-引擎架构- java实习-一&二面凉经
3048
7
...
影石嵌入式面经
3030
8
...
美团第二次笔试 算法题直接白卷投降
3019
9
...
美团模型平台后端开发面经
2890
10
...
大家离职都怎么开口的啊?
2765
创作者周榜
更多
正在热议
更多
#
你上一次给父母打电话是什么时候
#
14666次浏览
133人参与
#
如果工作一直消耗情绪还要继续做吗
#
6831次浏览
53人参与
#
秋招笔面试记录
#
204098次浏览
3490人参与
#
给26届的秋招建议
#
40727次浏览
1031人参与
#
在职场上,你最讨厌什么样的同事
#
28378次浏览
208人参与
#
我的秋招“寄”录
#
47068次浏览
613人参与
#
实习的内耗时刻
#
61263次浏览
651人参与
#
秋招投递记录
#
28722次浏览
317人参与
#
发工资后,你做的第一件事是什么
#
72788次浏览
252人参与
#
如果校招重来我最想改变的是
#
280149次浏览
2909人参与
#
我的AI电子员工
#
13560次浏览
109人参与
#
你最近一次加班是什么时候?
#
80369次浏览
433人参与
#
秋招,不懂就问
#
12829次浏览
135人参与
#
校招第一份工作你干了多久?
#
99454次浏览
439人参与
#
安克创新求职进展汇总
#
40321次浏览
448人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
237107次浏览
3789人参与
#
工作上你捅过哪些篓子?
#
22434次浏览
140人参与
#
网易求职进展汇总
#
113357次浏览
1072人参与
#
扒一扒那些奇葩实习经历
#
71945次浏览
936人参与
#
应届生初入职场,求建议
#
240962次浏览
2721人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务