首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 14:06
阿里云_研发工程师JAVA(准入职员工)
阿里云内推,阿里云内推码
入职一个多月了,来分享一些landing的感受~ 整体说下:可以打85分,毕竟当时辞职就是想要走出舒适圈,的确也会有些不舒适,但基本上是因为阿里和网易风格有差别,需要一些时间适应 我所在的产品线整体风格不卷,加班不严重,周末大家都安排自己的生活,可以安心放下手机,也让我彻底放下“不秒回羞耻症” 阿里云团队规模太大,分工很细,人也很多,想搞清楚一件事情要对接好多好多人,要熟悉的流程也贼多,这个过程的确有些累,但我估计只要在大厂都会这样 感觉这边做事情自由度更高,换句话说,老板只要结果,过程怎么做自己想办法去 凡事凡人都爱讲价值。初次对接的其他部门的同事,也会直接问我,“你对业务的价值是什么” 前...
阿里云成长空间 753人发布
点赞
评论
收藏
分享
12-25 20:36
四川大学 Java
腾讯 微信支付一面面经
一、背景与总体能力你目前的求职方向是什么?主要使用哪些编程语言?除了 Java 以外,你是否还使用过其他语言?主要用于什么场景?二、项目一:大众点评(Java / Redis / MySQL)你这个大众点评项目是本地部署的吗?短信登录是如何实现的?是否真的发送短信?你提到使用了缓存,请你介绍一下 Cache Aside 模式你是如何保证数据库和缓存之间的一致性的?在高并发场景(如秒杀)下,这种方式有没有潜在问题?项目中“一人一单”是如何实现的?三、项目二:AI Agent / Spring AI这个 AI 项目是课程项目,还是你自己做的?这个项目是否已经落地使用?多轮对话的 记忆 是如何实现的...
点赞
评论
收藏
分享
11-06 11:16
已编辑
安阳工学院 嵌入式软件开发
双非二本0面试😭
已经11月了,已经投了600多份简历了,零offer,0面试,双非二本,鼠鼠还有希望吗😭
点赞
评论
收藏
分享
12-02 11:22
已编辑
武汉大学 算法工程师
这是养鱼吗?
华为2012,因为没有收到oc有点急,今天去问了一下主管面的主管。想问一下各位牛油,这是养鱼回复吗?二编已收到意向书
华为保温
点赞
评论
收藏
分享
12-24 17:44
蓝禾技术_电商事业部_电商运营管培生(准入职员工)
图拉斯内推,图拉斯内推码
面经:蓝禾的流程推得很快,基本上投完两天就接到了hr的初试电话,直接进行了初试。初试全程大概三十分钟,hr小哥态度很和善。主要问了实践经历获奖的情况最有成就感的事情对电商运营的理解选择公司的标准等,都是比较常规的问题。图拉斯2026届校招启动,今年HC翻倍,抓紧投递~【我们是】图拉斯(原蓝禾) 是一家集产品、设计、研发、品牌、营销和大数据运营于一体的创新型科技公司,总部位于中国深圳,全球员工规模超3000人。【base】深圳【岗位】运营(国内)、运营(国外)、营销、设计、研发技术、职能内推链接:https://lanhevip.jobs.feishu.cn/s/gAwh1MlZJsw内推码:H...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
2
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27届学院二本,袋鼠云->快手->腾讯wxg,25年末聊聊我的前端之路
1.4W
2
...
本科五段大厂实习,秋招五个offer,我的校招结束了
7703
3
...
适可而止吧!你就是“烂泥”
5893
4
...
大四双非水产专业上岸阿里后端(五)
5696
5
...
我的世界观,就是对抗优绩主义的武器
3884
6
...
27双非杀入字节!
2756
7
...
26届双非硕Java秋招总结
1675
8
...
日常实习-小红书后端java二面
1620
9
...
实习被“放养”零产出,该及时止损还是继续苟着?
1539
10
...
学院本的秋招漫漫路,谷底之后只剩坦途
1499
创作者周榜
更多
正在热议
更多
#
实习没人带,苟住还是跑路?
#
2162次浏览
67人参与
#
工作中的卑微时刻
#
29866次浏览
190人参与
#
元旦假期你打算怎么过
#
2836次浏览
85人参与
#
过年期间可能会经历的尴尬瞬间
#
48537次浏览
313人参与
#
我们是不是被“优绩主义”绑架了?
#
4441次浏览
175人参与
#
从夯到拉,评价编程语言
#
27849次浏览
148人参与
#
如何看待应届生身份?
#
210784次浏览
2234人参与
#
查收我的offer竞争力报告
#
263831次浏览
1644人参与
#
多益网络工作体验
#
60226次浏览
300人参与
#
牛客2025仙途报告
#
21584次浏览
325人参与
#
机械制造面试记录
#
299905次浏览
3143人参与
#
实习心态崩了
#
96593次浏览
494人参与
#
华为工作体验
#
277248次浏览
1355人参与
#
26届秋招投递记录
#
109352次浏览
653人参与
#
实习打杂,要跑路吗
#
54340次浏览
330人参与
#
你有哪些缓解焦虑的方法?
#
44793次浏览
873人参与
#
找工作,行业重要还是岗位重要?
#
88323次浏览
1769人参与
#
华为池子有多大
#
154604次浏览
867人参与
#
今年你最想重开的一场面试是?
#
18248次浏览
175人参与
#
参加过提前批的机械人,你们还参加秋招么
#
105355次浏览
1647人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务