- 读完本文,可以去力扣解决如下题目:48. 旋转图像(中等)54. 螺旋矩阵(中等)59. 螺旋矩阵 II(中等)有不少读者说,看过很多公众号历史文章之后掌握了框架思维,可以解决大部分有套路框架可循的题目。但是框架思维也不是万能的,有一些特定技巧呢,属于会者不难,难者不会的类型,只能通过多刷题进行总结和积累。那么本文我分享一些巧妙的二维数组的花式操作,你只要有个印象,以后遇到类似题目就不会懵圈... 读完本文,可以去力扣解决如下题目:48. 旋转图像(中等)54. 螺旋矩阵(中等)59. 螺旋矩阵 II(中等)有不少读者说,看过很多公众号历史文章之后掌握了框架思维,可以解决大部分有套路框架可循的题目。但是框架思维也不是万能的,有一些特定技巧呢,属于会者不难,难者不会的类型,只能通过多刷题进行总结和积累。那么本文我分享一些巧妙的二维数组的花式操作,你只要有个印象,以后遇到类似题目就不会懵圈...
- 读完本文,可以去力扣解决如下题目:370. 区间加法(中等)1109. 航班预订统计(中等)1094. 拼车(中等)PS:这是一年前发布的 论那些小而美的算法技巧:差分数组/前缀和,我优化并添加了很多内容,重新发一遍。前文说前缀和主要适用的场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里简单介绍一下前缀和,核心代码就是下面这段:class PrefixSum { // ... 读完本文,可以去力扣解决如下题目:370. 区间加法(中等)1109. 航班预订统计(中等)1094. 拼车(中等)PS:这是一年前发布的 论那些小而美的算法技巧:差分数组/前缀和,我优化并添加了很多内容,重新发一遍。前文说前缀和主要适用的场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里简单介绍一下前缀和,核心代码就是下面这段:class PrefixSum { // ...
- 读完本文,可以去力扣解决如下题目:303. 区域和检索 - 数组不可变(中等)304. 二维区域和检索 - 矩阵不可变(中等)560. 和为K的子数组(中等)PS:这是两年前发布的 前缀和技巧:解决子数组问题,我优化并添加了很多内容,这里重新发一遍。前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。一维数组中的前缀和先看一道例题,力扣第 303 题「区域和检索 - 数组不可变」,让你... 读完本文,可以去力扣解决如下题目:303. 区域和检索 - 数组不可变(中等)304. 二维区域和检索 - 矩阵不可变(中等)560. 和为K的子数组(中等)PS:这是两年前发布的 前缀和技巧:解决子数组问题,我优化并添加了很多内容,这里重新发一遍。前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。一维数组中的前缀和先看一道例题,力扣第 303 题「区域和检索 - 数组不可变」,让你...
- 双指针技巧在处理数组和链表相关问题时经常用到,主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。对于单链表来说,大部分技巧都属于快慢指针,前文 单链表的六大解题套路 都涵盖了,比如链表环判断,倒数第K个链表节点等问题,它们都是通过一个fast快指针和一个slow慢指针配合完成任务。在数组中并没有真正意义上的指针,... 双指针技巧在处理数组和链表相关问题时经常用到,主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。对于单链表来说,大部分技巧都属于快慢指针,前文 单链表的六大解题套路 都涵盖了,比如链表环判断,倒数第K个链表节点等问题,它们都是通过一个fast快指针和一个slow慢指针配合完成任务。在数组中并没有真正意义上的指针,...
- 今天聊聊如何判断一个链表是不是回文链表。之前有两篇文章写了回文串和回文序列相关的问题:经典面试题:最长回文子串子序列解题模板:最长回文子序列我们知道,寻找回文串的核心思想是从中心向两端扩展:string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() ... 今天聊聊如何判断一个链表是不是回文链表。之前有两篇文章写了回文串和回文序列相关的问题:经典面试题:最长回文子串子序列解题模板:最长回文子序列我们知道,寻找回文串的核心思想是从中心向两端扩展:string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() ...
- 本文要解决「K 个一组反转链表」,不难理解:这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点一点点拆解分析,一般都没啥难点。下面我们就来拆解一下这个问题。一、分析问题首先,前文 学习数据结构的框架思维 提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现这个问题具有递归性质。什么叫递归性... 本文要解决「K 个一组反转链表」,不难理解:这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点一点点拆解分析,一般都没啥难点。下面我们就来拆解一下这个问题。一、分析问题首先,前文 学习数据结构的框架思维 提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现这个问题具有递归性质。什么叫递归性...
- 本文就总结一下单链表的基本技巧,每个技巧都对应着至少一道算法题:1、合并两个有序链表2、合并k个有序链表3、寻找单链表的倒数第k个节点4、寻找单链表的中点5、判断单链表是否包含环并找出环起点6、判断两个单链表是否相交并找出交点这些解法都用到了双指针技巧,所以说对于单链表相关的题目,双指针的运用是非常广泛的,下面我们就来一个一个看。合并两个有序链表这是最基本的链表技巧,力扣第 21 题「合并两... 本文就总结一下单链表的基本技巧,每个技巧都对应着至少一道算法题:1、合并两个有序链表2、合并k个有序链表3、寻找单链表的倒数第k个节点4、寻找单链表的中点5、判断单链表是否包含环并找出环起点6、判断两个单链表是否相交并找出交点这些解法都用到了双指针技巧,所以说对于单链表相关的题目,双指针的运用是非常广泛的,下面我们就来一个一个看。合并两个有序链表这是最基本的链表技巧,力扣第 21 题「合并两...
- 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢?本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归反转整个单链表开始拓展,只要你明白单链表的结构,相信你能够有所收获。// 单链表节点的结构public class ListNode { in... 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢?本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归反转整个单链表开始拓展,只要你明白单链表的结构,相信你能够有所收获。// 单链表节点的结构public class ListNode { in...
- 切片sliceGo 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。声明切片package mainimport "fmt"func main() { //1:direct declare variable v... 切片sliceGo 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。声明切片package mainimport "fmt"func main() { //1:direct declare variable v...
- 什么是protobuf?protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流... 什么是protobuf?protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流...
- 在Bash中,For循环和数组是强大的工具,可以帮助您处理和操作数据。For循环允许您重复执行一系列命令,而数组则可以存储和访问多个值。本文将详细介绍如何在Bash中使用For循环和数组。 使用 For 循环For循环是一种重复执行一系列命令的结构。它可以按照指定的方式迭代数组中的元素、数字范围或文件列表。以下是使用For循环的不同情况: 迭代数组中的元素要迭代数组中的元素,可以使用以下语法... 在Bash中,For循环和数组是强大的工具,可以帮助您处理和操作数据。For循环允许您重复执行一系列命令,而数组则可以存储和访问多个值。本文将详细介绍如何在Bash中使用For循环和数组。 使用 For 循环For循环是一种重复执行一系列命令的结构。它可以按照指定的方式迭代数组中的元素、数字范围或文件列表。以下是使用For循环的不同情况: 迭代数组中的元素要迭代数组中的元素,可以使用以下语法...
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签