leetcode算法题总结

leetcode算法题总结

  • 1、面试题整理
    • 1.1 入门
    • 1.2 基础
    • 1.3 适合1-3年面试
    • 1.4 适合3年以上面试

1、面试题整理

1.1 入门

1)两数之和(1, easy)
考察对map的使用,通过空间换时间

2)有效的括号(20, easy)
考察对map的使用,需要会对containsKey灵活使用

3)二分查找(704,easy)
考察最基础的分治算法的理解

1.2 基础

1)两数相加(2, middle)
考察的比较基础,需要注意进位、取模的逻辑。特别是代码要精简,写出来的代码逻辑不能特别地乱,或者说重复。

2)岛屿数量(200,middle)
考察的是递归写法,以及对二维数组边界的判断。
递归写法比较简单,非递归写法比较考验基础。

1.3 适合1-3年面试

1)三数之和(15, middle)
考察对双指针的理解

2)无重复字符的最长子串(3, middle)
考察对滑动窗口的理解。

3)最长回文子串
容易想到的是中心扩散法,进一步优化可以使用动态规划。
最长回文子串最佳解法

4)四数之和(18, middle)
三数之和的升级版,还是考察队双指针的理解,同时也考察处理复杂业务代码的能力(业务逻辑比三数之和更复杂了)。

5)和为 K 的子数组(560,middle)
使用前缀和的方法,将问题转化为求解两个前缀和之差等于k的情况。

6)数组中的第K个最大元素(215,middle)
面试高频题,考察随机快排的应用。很典型的一道题。

7)最大子数组和(53,middle)
代码量很小,有点像智力题,抓住关键点(既然是连续序列且求最大和,判断下要不要取前面的子序列和就行了)就很容易做出来。

8)最长回文子序列(516,middle)
一道动态规划的典型题目,代码量不大,既考察智力又考察动态规划,非常适合作为面试题目。

9)编辑距离(72,middle)
考察分治思想和动态规划,代码量适中,非常适合作为面试题目。

10)二叉树的层序遍历(102,middle)
考察递归写法和非递归写法。
非递归写法用一个队列保存当前层的节点,遍历的时候注意提前记下当前层的节点个数,遍历的时候只处理当前层的节点,下一层的节点继续进入队列。

11)重排链表(143,middle)
考察智力或者平时的刷题能力。核心是先要找到链表中点,然后反转中点后的链表,最后将两段链表进行合并。
一道题里面集合了3个小方法(链表原地反转、寻找链表中点、链表合并),代码量适中,适合作为面试题。

1.4 适合3年以上面试

1)最长递增子序列(300, middle)
2)LRU 缓存
考察缓存的基本功、以及hashmap与双向链表数据结构整合的理解。
LRU缓存解法
3)正则表达式匹配(hard)
动态规划、逻辑挺绕的。能做出来,说明刷题基础很扎实。
4)滑动窗口最大值(hard)
考察是否会用单调队列来解决如何在O(n)时间内记录窗口内最大值的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/370433.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化精益生产系统--MRP 需求管理系统

MRP(Material Requirements Planning,物料需求计划)需求管理系统是一种在制造业中广泛应用的计划工具,旨在通过分析和计划企业生产和库存需求,优化资源利用,提高生产效率。以下是对MRP需求管理系统的功能设…

2.1 tmux和vim

文章目录 前言概述tmuxvim总结 前言 开始学习的时间是 2024.7.6 ,13:47 概述 最好多使用,练成条件反射式的 直接使用终端的工具,可以连接到服务器,不需要使用本地的软件 tmux 这个主要有两个功能,第一个功能是分…

【十三】图解 Spring 核心数据结构:BeanDefinition 其二

图解 Spring 核心数据结构:BeanDefinition 其二 概述 前面写过一篇相关文章作为开篇介绍了一下BeanDefinition,本篇将深入细节来向读者展示BeanDefinition的设计,让我们一起来揭开日常开发中使用的bean的神秘面纱,深入细节透彻理解…

【Pyhton】读取寄存器数据到MySQL数据库

目录 步骤 modsim32软件配置 Navicat for MySQL 代码实现 步骤 安装必要的库:确保安装了pymodbus和pymysql。 配置Modbus连接:设置Modbus从站的IP地址、端口(对于TCP)或串行通信参数(对于RTU)。 连接M…

go语言day10 接口interface 类型断言 type关键字

接口: 空接口类型: 要实现一个接口,就要实现该接口中的所有方法。因为空接口中没有方法,所以自然所有类型都实现了空接口。那么就可以使用空接口类型变量去接受所有类型对象。 类比java,有点像Object类型的概念&#x…

文件上传(本地、OSS)

什么是文件上传&#xff1a;将文件上传到服务器。 文件上传-本地存储 前端 <template> <div><!-- 上传文件需要设置表单的提交方式为post&#xff0c;并设置enctype属性、表单项的type属性设置为file --><form action"http://localhost:8080/wedu/…

嵌入式Linux系统编程 — 7.2 进程的环境变量

目录 1 什么是进程的环境变量 2 环境变量的作用 3 应用程序中获取环境变量 3.1 environ全局变量 3.2 获取指定环境变量 getenv 4 添加/删除/修改环境变量 4.1 putenv()函数添加环境变量 4.2 setenv()函数 4.3 unsetenv()函数 1 什么是进程的环境变量 每一个进程都有一…

拉曼光谱入门:2.拉曼光谱发展史、拉曼效应与试样温度的确定方法

1.拉曼光谱技术发展史 这里用简单的箭头与关键字来概括一下拉曼光谱技术的发展史 1928年&#xff1a;拉曼效应的发现 → 拉曼光谱术的初步应用20世纪40年代&#xff1a;红外光谱术的发展 → 拉曼光谱术的限制20世纪60年代&#xff1a;激光作为光源的引入 → 拉曼光谱术的性能提…

绝区叁--如何在移动设备上本地运行LLM

随着大型语言模型 (LLM)&#xff08;例如Llama 2和Llama 3&#xff09;不断突破人工智能的界限&#xff0c;它们正在改变我们与周围技术的互动方式。这些模型早已集成到我们的手机中&#xff0c;但到目前为止&#xff0c;它们理解和处理请求的能力还非常有限。然而&#xff0c;…

详细的讲解一下网络变压器应用POE ,AT BT AF BF的概念,做电路连接指导分析

网络变压器在应用POE&#xff08;Power over Ethernet&#xff09;技术时&#xff0c;承担着重要的角色。它不仅负责数据的传输&#xff0c;同时也为网络设备提供电力。在IEEE 802.3标准中&#xff0c;定义了几个与POE相关的标准&#xff0c;包括802.3af、802.3at、802.3bt等&a…

20240701给NanoPi R6C开发板编译友善之臂的Android12系统

20240701给NanoPi R6C开发板编译友善之臂的Android12系统 2024/7/1 14:19 本文采取这个模式编译&#xff1a;11.6.3 编译Android Tablet版本(首次编译) echo "ROCKCHIP_DEVICE_DIR : device/rockchip/rk3588/nanopi6" > .rockchip_device.mk # export INSTALL_GAP…

笔记15:while语句编程练习

练习一&#xff1a; 编写程序&#xff0c;求 2^24^26^2...n^2? -直到累加和大于或等于 10000 为止&#xff0c;输出累加和 -输出累加式中的项数&#xff0c;以及最大的数 n #include<stdio.h> int main() {int sum 0;int i 1;int n 0;while(sum < 10000)//将sum…

【话题】AI是在帮助开发者还是取代他们

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 引言AI在代码生成中的应用AI在错误检测和自动化测试中的作用对开发者职业前景的影响技能需求的变化与适应策略结论文章推荐 引言 随着人工智能&#xff08;AI&#xff…

基于YOLOv10+YOLOP+PYQT的可视化系统,实现多类别目标检测+可行驶区域分割+车道线分割【附代码】

文章目录 前言视频效果必要环境一、代码结构1、 训练参数解析2、 核心代码解析1.初始化Detector类2. torch.no_grad()3. 复制输入图像并初始化计数器4. 调用YOLOv10模型进行目标检测5. 提取检测结果信息6. 遍历检测结果并在图像上绘制边界框和标签7. 准备输入图像以适应End-to-…

MySQL基础篇(三)数据库的修改 删除 备份恢复 查看连接情况

对数据库的修改主要指的是修改数据库的字符集&#xff0c;校验规则。 将test1数据库字符集改为gbk。 数据库的删除&#xff1a; 执行完该数据库就不存在了&#xff0c;对应数据库文件夹被删除&#xff0c;级联删除&#xff0c;里面的数据表全部被删除。 注意&#xff1a;不要随…

Hack The Box -- Blazorized

一、准备工作 端口扫描 详细扫描 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-30 21:39 EDT Nmap scan report for 10.10.11.22 Host is up (0.26s latency).PORT STATE SERVICE VERSION 53/tcp open domain Simple DNS Plus 80/tcp op…

onclick和@click有什么区别,究竟哪个更好使?

哈喽小伙伴们大家好,我是爱学英语的程序员,今天来给大家分享一些关于vue中事件绑定相关的内容,希望对大家有所帮助. 场景是这样的:我要实现一个切换栏,默认激活的是第一个标签,当鼠标移动到第二个标签是,对应的内容让激活.起初,我第一时间想到的是用element plus的组件来实现这…

海外发稿: 秘鲁-区块链新闻媒体通稿宣发

秘鲁媒体单发 随着全球化的不断深入&#xff0c;海外发稿已经成为众多企业宣传推广的重要方式之一。而在海外发稿的选择中&#xff0c;秘鲁媒体的地位尤为重要。秘鲁作为南美洲的重要国家之一&#xff0c;拥有众多知名媒体平台&#xff0c;包括diariodelcusco、serperuano、el…

ElasticSearch 如何计算得分及一个不太成熟的使用

1.背景 最近在做 ES 相关东西&#xff0c;只最会在查询的时候给不同的字段设置不同的权重&#xff0c;但是得分具体怎么算的不太明白&#xff0c;花了4-5 天研究和总结了一下。这样不至于被别人问到“这个分数怎么算出来的&#xff1f;”&#xff0c;两眼一抹黑&#xff0c;不…

【OnlyOffice】桌面应用编辑器,插件开发大赛,等你来挑战

OnlyOffice&#xff0c;桌面应用编辑器&#xff0c;最近版本已从8.0升级到了8.1 从PDF、Word、Excel、PPT等全面进行了升级。随着AI应用持续的火热&#xff0c;OnlyOffice也在不断推出AI相关插件。 因此&#xff0c;在此给大家推荐一下OnlyOffice本次的插件开发大赛。 详细信息…