【26.3持续更新中】Leetcode算法笔记(代码随想录)
想成为算法高手 2026.3数组lc704.二分查找 https://leetcode.cn/problems/binary-search/设一个区间来框住待查数组 这个框可以是闭区间/左闭右开区间。记住middle的计算公式永远不变 是 left (right-left) / 2lc27.移除元素 https://leetcode.cn/problems/remove-element/暴力法or双指针法双指针法思想慢指针代表新数组快指针代表原数组。指针行进的同时数组原地变化这样就在一个for内解决了两层for的工作。lc977 有序数组的平方 https://leetcode.cn/problems/squares-of-a-sorted-array/还没做lc209.长度最小的子数组 209. 长度最小的子数组 - 力扣LeetCode滑动窗口很好想到 终于有我会做的题了 也是破天荒手敲了一次代码要考虑到无解的情况我有一种与第一个题解不同的做法 思路一致while循环更好看public int minSubArrayLen(int target, int[] nums) { int n nums.length; int l 0, r 0; int sum 0; int ans Integer.MAX_VALUE; while (r n || sum target) { if (sum target) { ans Math.min(ans, r - l); sum - nums[l]; l; } else { sum nums[r]; r; } } return ans Integer.MAX_VALUE ? 0 : ans; }lc59.螺旋矩阵II用时最长的一题 需要找规律 并且注意细节链表Lc203.移除链表元素可以添加虚拟头节点来做 也可以用递归实现 递归的代码不好理解见下public class Lc203 { public ListNode removeElements(ListNode head, int val) { if(headnull) return null; head.nextremoveElements(head.next,val); if(head.valval){ return head.next; }else{ return head; } } }【对递归的理解】两处递归函数调用两处之差就是递归函数剩下那些代码要解决的部分——head头节点。“解决”即返回head/head.next。对于递归题必须从整体来理解一份代码/自己写代码如果head是空链表直接return题目答案null。接下来递归调用函数把头节点后面的val节点全部删掉。然后处理头节点如果头节点是val节点就直接return题目答案head.next否则return head。lc707.设计链表用java的面向对象格式写算法题 还是写得不够熟练lc206.反转链表我真的想到要用递归了 但想了好久还是不熟悉怎么用递归的思想解题对于链表1- 2- 3的 理解为1- 2- 3- null更好4这题还没看题解lc24.两两交换链表节点【递归法、迭代法】递归法太高级了算法题要先考虑特殊的输入数据空链表、无法满足题意等这样能让后面的代码不报错越界等lc19.删除链表的倒数第N个节点方法1.计算链表长度 2.栈/数组 3.双指针1和3是常见的可替换方法面试题02.07. 链表相交方法1.哈希集合 2.计算链表长度 3.双指针对于链表“获取长度”和“双指针”是很常用的方法因为这样就可以让链表成为从后往前也很好操作的数据结构。“哈希表”也是很常用的因为链表结构过于分散需要遍历才能获取信息使用哈希表就可以记录下来遍历过的节点。lc142.环形链表II方法1.哈希表 2.快慢指针哈希表lc242.有效的字母异位词 242. 有效的字母异位词 - 力扣LeetCode方法1用Arrays类的方法Arrays类中都是静态方法.sort(arr) 给数组从小到大排序.binarySearch(arr, val) 在有序数组中找某个值的索引.toString(arr) 转成字符串否则直接打印数组打印的是地址注意Arrays是操作数组的工具类ArrayList是集合类方法2哈希表lc349.两个数组的交集没学set 也没时间看了 先跳过吧

相关新闻

神器claude code安装

神器claude code安装

前提条件: 您需要安装 Node.js 18 或更新版本环境 MacOS 用户推荐使用 nvm 方式安装 Nodejs 或 Homebrew 方式。不推荐直接安装包安装(后续可能会遇到权限问题) Windows 用户还需安装 Git for Windows 进入命令行界面,安装 Claude Code npm install -g …

2026/7/5 18:30:23 阅读更多 →
ESP32开发环境搭建:PlatformIO+Arduino实战指南

ESP32开发环境搭建:PlatformIO+Arduino实战指南

1. ESP32开发环境搭建:PlatformIO Arduino框架实战指南ESP32自2016年发布以来,已成为物联网嵌入式开发的事实标准之一。其双核Xtensa LX6处理器、集成WiFi 802.11 b/g/n与BLE 4.2/5.0、丰富的外设接口(SPI/I2C/UART/ADC/DAC/PWM)…

2026/7/5 18:30:16 阅读更多 →
ESP8266-01S固件烧录与阿里云MQTT接入全流程

ESP8266-01S固件烧录与阿里云MQTT接入全流程

1. ESP8266-01S模块固件烧录与通信验证全流程解析ESP8266-01S作为一款高度集成的Wi-Fi SoC模块,其核心价值在于将TCP/IP协议栈、Wi-Fi射频前端与MCU处理能力封装于极小尺寸的封装内。但必须明确一个工程前提:出厂状态的ESP8266-01S模块仅运行厂商预置的B…

2026/7/3 6:21:00 阅读更多 →

最新新闻

对字符串排序的影响

对字符串排序的影响

字符串的大小比较并不是如C那样按照字符串字符内码大小顺序从头到尾来比较的。由于我是从C/C转过来的,我一直以来都以为.net 下字符串的比较规则和C是一样的,直到有一天我的程序在英文操作系统下出错。 .net 下,字符串的排序受 System.Threa…

2026/7/5 18:29:28 阅读更多 →
Runno高级调试技巧:解决复杂代码执行问题的完整方法

Runno高级调试技巧:解决复杂代码执行问题的完整方法

Runno高级调试技巧:解决复杂代码执行问题的完整方法 【免费下载链接】runno Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP. 项目地址: https://gitcode.com/gh_mirrors/ru/runno Runn…

2026/7/5 18:29:28 阅读更多 →
Instatic集群部署:负载均衡与会话共享配置指南

Instatic集群部署:负载均衡与会话共享配置指南

Instatic集群部署:负载均衡与会话共享配置指南 【免费下载链接】Instatic Instatic is a modern self-hosted visual CMS - get it running in 1 minute 项目地址: https://gitcode.com/GitHub_Trending/in/Instatic Instatic作为一款现代自托管视觉CMS&…

2026/7/5 18:25:26 阅读更多 →
CANN/asc-devkit:int8转half数据类型转换API

CANN/asc-devkit:int8转half数据类型转换API

asc_int82half 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.…

2026/7/5 18:25:26 阅读更多 →
CANN社区任务-SpSM算子开发

CANN社区任务-SpSM算子开发

7月社区任务-SpSM算子开发任务书 【免费下载链接】cann-ops-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-ops-competitions 基础信息 技术标签:算子开…

2026/7/5 18:21:25 阅读更多 →
Subliminal:终极iOS集成测试框架完整指南

Subliminal:终极iOS集成测试框架完整指南

Subliminal:终极iOS集成测试框架完整指南 【免费下载链接】Subliminal An understated approach to iOS integration testing. 项目地址: https://gitcode.com/gh_mirrors/subl/Subliminal Subliminal是一款专为iOS应用开发打造的集成测试框架,它…

2026/7/5 18:21:25 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻