【LeetCode刷题】二月汇总篇

article/2025/9/21 7:57:10

学习总结

文章目录

  • 学习总结
  • 一、时间安排
  • task01 数组
  • task02 链表
  • task03 栈
  • task04 字符串
  • task05 树
  • task06 位运算
  • task07 双指针
  • task08 搜索
  • task09 排序
  • task10 动态规划
  • task11 分治
  • task12 哈希表

一、时间安排

阿里云天池leetcode训练营(二月)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

task01 数组

2月14日-2月15日

leetcode题号题目题解链接注意事项
16最接近的三数之和C++题解双指针

task02 链表

2月16日-2月17日

leetcode题号题目题解链接注意事项
61旋转链表已完成n-k-1为新头节点
剑指 Offer 25.合并两个排序的链表已完成常规题,哨兵节点
160相交链表C++题解简单数学
82删除排序链表中的重复元素 IIC++题解每段可以循环删除

task03 栈

2月18日-2月19日

leetcode题号题目题解链接注意事项
20有效的括号C++题解
150逆波兰表达式求值C++题解
155最小栈C++题解借助辅助栈
844比较含退格的字符串C++题解双栈或者双指针,后者方法才能 O ( 1 ) O(1) O(1)空间复杂度
227基本计算器 IIC++题解这几题中最综合的一题,值得二刷,从加减法、乘除法、加入括号(递归)逐层思考。

task04 字符串

2月20日-2月21日
可以熟悉C++和字符串相关的api,如isalnum判断是否为字母或者数字,如果不知道api就写判断条件;tolower是将char字符转为小写字母。


在这里插入图片描述

leetcode题号题目题解链接注意事项
125验证回文串C++题解isalnumtolower
151翻转字符串里的单词C++题解和剑指offer58 I.翻转单词顺序相同(istringstream)
680验证回文字符串 IIC++题解s.substr(a, b)表示从s字符串的a下标开始算,连续b个字符
168Excel表列名称C++题解从1开始的进制转换
394字符串解码Python题解

task05 树

2月22日-2月23日
常用递归,方法和思路可以参考宏观角度看递归。

leetcode题号题目题解链接注意事项
104二叉树的最大深度C++题解递归or迭代
108将有序数组转换为二叉搜索树C++题解中序遍历,为了严格平衡BST,可以选中间节点为根结点
111二叉树的最小深度C++题解递归or层次遍历的迭代
112路径总和C++题解边界条件: root为NULL要return,root左右子树为NULL时要判断是否为sum
173二叉搜索树迭代器C++题解中序遍历,注意引用的用法

task06 位运算

2月24日-2月25日

(1)n&(n-1)可以将n的二进制位的最低位1移除;
(2)n&(-n)==n则说明n是2的幂,负数在计算机中是按补码存储的,-n是n的每位取反再加1。

leetcode题号题目题解链接注意事项
136只出现一次的数字C++题解异或的位运算
260只出现一次的数字IIIC++题解分组是关键,异或,与操作
2312的幂C++题解(n & (n - 1) == 0或n & (-n) == n)
137只出现一次的数字IIC++题解每个数的第j列元素相加余3
78子集C++题解2种回溯方法

task07 双指针

2月26日-2月27日

leetcode题号题目题解链接注意事项
206反转链表C++题解递归or迭代法
19删除链表的倒数第N个结点C++题解有哨兵节点
704二分查找已完成常规题
33搜索旋转排序数组C++题解二分查找的变种

task08 搜索

2月28日-3月1日

leetcode题号题目题解链接注意事项
704二分查找已完成常规题
33搜索旋转排序数组C++题解二分查找的变种
101对称二叉树C++题解递归or迭代
94二叉树的中序遍历已完成模板题,inorder单独写出来
230二叉搜索树中第K小的元素已完成就中序遍历数组,取第k-1

task09 排序

3月2日-3月3日

快速排序的模板:

class Solution {
public:vector<int> sortArray(vector<int>& nums) {int n = nums.size();quick_sort(nums,0,n-1);return nums;}void quick_sort(vector<int> &q ,int l,int r){//递归边界if(l>=r) return;//这里初值设置为l-1,r+1是因为while中是do,while结构//先使i+1,j-1指向数组的第一和最后一个位置,再开始判断int x = q[(l+r) >> 1],i  = l-1, j=r+1;while(i<j){//将比枢轴小的元素do{i++;} while(q[i] < x);do{j--;} while(q[j] > x);if(i < j) swap(q[i], q[j]);}//递归左右子序列quick_sort(q,l,j);quick_sort(q,j+1,r);}
};
leetcode题号题目题解链接注意事项
88合并两个有序数组已完成直接把nums2补在nums1尾巴后sort
912排序数组C++题解如果用快速排序,选枢轴需要随机or取中间的!!不然会超时
977有序数组的平方已完成直接平方后排序了(偷懒)
1122数组的相对排序C++题解哈希表 or 自定义排序sort函数
147对链表进行插入排序C++题解可以先对节点进行sort排序后再将节点连接起来,排序函数如下
sort(vec.begin(), vec.end(), [&](ListNode* n1, ListNode* n2){return n1->val < n2->val;
});

task10 动态规划

3月4日-3月5日
四部曲:确定状态;状态转移方程(描述子问题之间的联系);边界+初始条件;遍历顺序。
在这里插入图片描述

leetcode题号题目题解链接注意事项
53最大子数组和C++题解注意是连续,用dp后,还可以使用分治法
1143最长公共子序列C++题解这里的子序列可以不连续
121买卖股票的最佳时机C++题解二维数组
122买卖股票的最佳时机 IIC++题解比I多了个多次买卖
516最长回文子序列C++题解使用中心扩散法(更好想),有奇数和偶数两种情况,palindrome单独写

task11 分治

3月6日-3月7日

分治思想:将原问题划分为n个规模较小,并且结构与原问题相似的子问题,递归地解决这些子问题,然后合并结果,得到原问题的解。

每一次递归都会设计3个操作:

  • 分解:将原问题分解成一系列子问题;
  • 解决:递归地求解各个子问题,若子问题足够小,则直接求解;
  • 合并:将子问题的结果合并成原问题;
leetcode题号题目题解链接注意事项
108将有序数组转换为二叉搜索树C++题解中序遍历构建BST,每次取中间节点作为当前根结点即可保证高度平衡
106从中序与后序遍历序列构造二叉树C++题解边界小心
168多数元素C++题解摩尔投票法
53最大子数组和C++题解动态规划,要补分治法
105从前序与中序遍历序列构造二叉树C++题解和106类似

task12 哈希表

3月8日-3月9日

leetcode题号题目题解链接注意事项
217存在重复元素已完成
36有效的数独C++题解三个哈希表
219存在重复元素 IIC++题解哈希,mp[i]=j表示数字i在原数组的下标为j
771宝石与石头已完成基础题,哈希
811子域名访问计数待完成涉及很多字符串处理(如分割和拼接)

http://chatgpt.dhexx.cn/article/7YMV3Twm.shtml

相关文章

2019年9月全国计算机二级准考证打印,2019年9月计算机二级准考证打印入口公布...

2019年下半年全国计算机考试已经进入紧张备考中&#xff0c;在9月21日正式开考&#xff0c;请考生提前打印准考证&#xff0c;目前各市的准考证打印网址开通&#xff0c;考生可以自行打印。如果是在报名点报名的考生&#xff0c;可在报名点领取&#xff0c;下面我们来看各省打印…

MODIS16天数据月合成/季合成

1.MRT重投影、转换格式 重投影后命名为MOD13Q1.A2019129.250m_16_days_NDVI.tif 2.重命名 5月单独一期&#xff0c;即序号为129的一期。&#xff08;欢迎探讨&#xff09; 首先去掉前面的MOD13Q1. 再将001.250替换为0101 将129.250替换为0501 得到A20200501_16_days_NDVI.ti…

plc里的二进制 用计算机,如何理解二进制和十六进制(电工入门PLC知识普及)...

如何理解二进制和十六进制(电工入门PLC知识普及)三菱PLC直观易懂&#xff0c;便于入门&#xff01;&#xff01;而欧系的西门子PLC太复杂&#xff0c;不适合入门&#xff01;&#xff01;这句话已经成了很多人的口头语&#xff0c;但是&#xff0c;到底是为什么呢&#xff1f;&…

计算机二级报名时间2020年3月山西,2020年3月山西计算机二级报名及考试时间

摘要&#xff1a; 2020年3月山西计算机二级报名及考试时间为你介绍根据山西省2020年上半年全国计算机等级考试网上报名公告可知。山西2020年3月计算机二级报名及考试时间已经公布&#xff0c;以下是小编为大家整理的相关内容希望对大家有所帮助。 山西计算机二级报名及考试时间…

7月14日第壹简报,星期四,农历六月十六

7月14日第壹简报&#xff0c;星期四&#xff0c;农历六月十六1. 天链二号03星成功发射&#xff0c;中国第二代数据中继卫星系统正式建成。2. 微博、微信&#xff1a;将整治用谐音字、变体字等“错别字”发布、传播传播不良信息。3. 官方&#xff1a;严禁在就业上歧视曾经新冠核…

百度杯”CTF比赛(十二月场)

"百度杯"CTF比赛&#xff08;十二月场&#xff09; 第一场 1、传说中的签到题 解决&#xff1a;把二进制用在线进制转换器转换&#xff0c;发现转为10进制时&#xff0c;和tips2一样&#xff0c;在qq上一查&#xff0c;是CTF官方群&#xff0c;在公告里有一个字符串…

5月16日第壹简报,星期一,农历四月十六

5月16日第壹简报&#xff0c;星期一&#xff0c;农历四月十六1、重磅&#xff01;个人首套房商贷利率下限调整&#xff0c;可低至4.4%&#xff0c;30年贷款50万利息可省2万。2、IMF完成特别提款权&#xff08;SDR&#xff09;定值审查&#xff0c;人民币权重上调至12.28%。3、9…

2020年三月计算机二级甘肃报名官网,2020年3月甘肃计算机二级考试报名时间

在大学期间&#xff0c;我们都会参加计算机二级考试。那么计算机二级考试什么时候报名呢&#xff1f;下面是小编整理的2020年3月甘肃计算机二级考试报名时间&#xff0c;希望对大家有所帮助&#xff01; 2020年3月甘肃计算机二级考试报名时间 2020年3月甘肃计算机二级考试报名时…

【历史上的今天】2 月 16 日:世界上第一个 BBS 诞生;中国计算机教育开端;IBM 机器人赢得智能竞赛

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 2 月 16 日&#xff0c;在 1914 年的今天&#xff0c;世界第一条空中航线——美国洛杉矶到旧金山航线开通。洛杉矶位于美国西岸加州南部的城市&#xff0c;是美…

SQLServer 查询表的列名称、说明、备注、类型等

分享一个sqlserver 查询表的列名称、说明、备注、类型等内容的语句&#xff1a; SELECT 表名 CASEWHEN a.colorder 1 THENd.nameELSEEND,表说明 CASEWHEN a.colorder 1 THENISNULL(f.value, )ELSEEND,字段序号 a.colorder,字段名 a.name,标识 CASEWHEN COLUMNPROPERTY(…

Scrapy抓取接口中文数据显示问号问题

scrapy.FormRequest抓取接口数据中文显示问号 问题表象原因分析处理办法 问题表象 近期在抓取数据的时候&#xff0c;数据是用Js通过接口加载的&#xff0c;需要POST form-data数据过去抓取。 yield scrapy.FormRequest(urlurl, methodPOST,headersself.headers, formdatasel…

centos 安装java11

直接执行 yum list|grep java-11输出结果如下 java-11-openjdk.i686 1:11.0.16.0.8-1.el7_9 updates java-11-openjdk.x86_64 1:11.0.16.0.8-1.el7_9 updates java-11-openjdk-demo.i686 1:11.0.1…

Java-1.11

题目描述&#xff1a; 编写程序&#xff0c;显示未来五年每年的人口数。假设当前的人口数是312032486人&#xff0c;每年365天。每7秒有1人出生&#xff0c;每13秒有1人死亡&#xff0c;每45秒有人迁入。 代码&#xff1a; public class Population {public static void main…

Java11新特性(一)——JDK11新特性概述

序言 关于JDK11&#xff0c;自从去年也就是2018年9月份 Oracle 对外公布——JDK11正式发布以来&#xff0c;博主就跃跃欲试&#xff0c;但是由于项目周期时间紧&#xff0c;一直未果&#xff0c;今年&#xff0c;也就是2019年2月底系统正式上线&#xff0c;博主除了远程技术支持…

1-10java

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1-7天前言一.配置环境二.基本语法三.作业小结 1-7天 前言 为了复习java基础知识 一.配置环境 一般用java8二.基本语法 .2.1 加、减、乘、除、整除、取余.2.2 熟悉…

当老板让我从 Java8 升到 Java11

老板让我把一个项目从 Java 8 迁移到 Java 11&#xff0c;我该怎么办呢&#xff1f; 最简单的办法&#xff0c;当然是直接强行升级&#xff0c;遇到一个错就改一个错&#xff0c;别看它 low&#xff0c;但是对于一个小型且非核心的项目来说&#xff0c;已经足够了。 当然&…

java11初体验,8 个逆天新特性教你写出更牛逼的代码!

美国时间 09 月 25 日&#xff0c;Oralce 正式发布了 Java 11&#xff0c;这是据 Java 8 以后支持的首个长期版本。 为什么说是长期版本&#xff0c;看下面的官方发布的支持路线图表。 可以看出 Java 8 扩展支持到 2025 年&#xff0c;而 Java 11 扩展支持到 2026 年。 现在大…

一、Java11安装

一、安装 Java11 window64版本傻瓜式安装即可 二、环境变量 1. JAVA_HOME 变量名&#xff1a;JAVA_HOME 变量值&#xff1a;电脑上JDK安装的绝对路径 &#xff1a; C:\Program Files\Java\jdk-11.0.122. 新建/修改 CLASSPATH 变量 变量名&#xff1a;CLASSPATH 变量值&…

Linux下安装java11(亲测)

1.首先下载java11 yum search java-11-openjdk1.1 选择相应版本&#xff08;本人是x86_64&#xff09; &#xff08;ps:如果不知道选择哪个版本可以输入 arch 或者 uname -a 命令查看系统版本信息&#xff09; 1.2 进行下载 yum install java-11-openjdk.x86_64 -y2.查看ja…

JAVA 11.11

JAVA第二天 1.1java中的数据类型(b) java中的数据类型&#xff1a; 基本数据类型 和 对象类型java是一种强语言&#xff0c;严格遵循类型匹配原则。也就是说 我们存储数据的时候 什么样的数据就必须使用什么样的类型去接收。 ​ 对象类型&#xff1a; 无数种 基本数据类…