当前位置: 首页 > news >正文

Leetcode面试高频题分类刷题总结

https://zhuanlan.zhihu.com/p/349940945

以下8个门类是面试中最常考的算法与数据结构知识点。

排序类(Sort):

  • 基础知识:快速排序(Quick Sort), 归并排序(Merge Sort)的原理与代码实现。需要能讲明白代码中每一行的目的。快速排序时间复杂度平均状态下O(NlogN),空间复杂度O(1),归并排序最坏情况下时间复杂度O(NlogN),空间复杂度O(N)
  • 入门题目:
    • Leetcode 148. Sort List
    • Leetcode 56. Merge Intervals
    • Leetcode 27. Remove elements
  • 进阶题目:
    • Leetcode 179. Largest Number
    • Leetcode 75. Sort Colors
    • Leetcode 215. Kth Largest Element (可以用堆的解法替代)
    • Leetcode 4. Median of Two Sorted Arrays

注意:后两题是与快速排序非常相似的快速选择(Quick Select)算法,面试中很常考

链表类(Linked List):

  • 基础知识:链表如何实现,如何遍历链表。链表可以保证头部尾部插入删除操作都是O(1),查找任意元素位置O(N)
  • 基础题目:
    • Leetcode 206. Reverse Linked List
    • Leetcode 876. Middle of the Linked List

注意:快慢指针和链表反转几乎是所有链表类问题的基础,尤其是反转链表,代码很短,建议直接背熟。

  • 进阶题目:
    • Leetcode 160. Intersection of Two Linked Lists
    • Leetcode 141. Linked List Cycle (Linked List Cycle II)
    • Leetcode 92. Reverse Linked List II
    • Leetcode 328. Odd Even Linked List

堆(Heap or Priority Queue)、栈(Stack)、队列(Queue)、哈希表类(Hashmap、Hashset):

  • 基础知识:各个数据结构的基本原理,增删查改复杂度。
  • Queue题目:
    • Leetcode 225. Implement Stack using Queues
    • Leetcode 346. Moving Average from Data Stream
    • Leetcode 281. Zigzag Iterator
    • Leetcode 1429. First Unique Number
    • Leetcode 54. Spiral Matrix
    • Leetcode 362. Design Hit Counter
  • Stack题目:
    • Leetcode 155. Min Stack (follow up Leetcode 716 Max Stack)
    • Leetcode 232. Implement Queue using Stacks
    • Leetcode 150. Evaluate Reverse Polish Notation
    • Leetcode 224. Basic Calculator II (I, II, III, IV)
    • Leetcode 20. Valid Parentheses
    • Leetcode 1472. Design Browser History
    • Leetcode 1209. Remove All Adjacent Duplicates in String II
    • Leetcode 1249. Minimum Remove to Make Valid Parentheses
    • Leetcode 735. Asteroid Collision
  • Hashmap/ Hashset题目:
    • Leetcode 1. Two Sum
    • Leetcode 146. LRU Cache (Python中可以使用OrderedDict来代替)
    • Leetcode 128. Longest Consecutive Sequence
    • Leetcode 73. Set Matrix Zeroes
    • Leetcode 380. Insert Delete GetRandom O(1)
    • Leetcode 49. Group Anagrams
    • Leetcode 350. Intersection of Two Arrays II
    • Leetcode 299. Bulls and Cows
    • Leetcode 348 Design Tic-Tac-Toe
  • Heap/Priority Queue题目:
    • Leetcode 973. K Closest Points
    • Leetcode 347. Top k Largest Elements
    • Leetcode 23. Merge K Sorted Lists
    • Leetcode 264. Ugly Number II
    • Leetcode 1086. High Five
    • Leetcode 88. Merge Sorted Arrays
    • Leetcode 692. Top K Frequent Words
    • Leetcode 378. Kth Smallest Element in a Sorted Matrix
    • Leetcode 295. Find Median from Data Stream (标准解法是双heap,但是SortedDict会非常容易)
    • Leetcode 767. Reorganize String
    • Leetcode 1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit (这个题用单调双端队列、TreeMap、双heap都可以)
    • Leetcode 895. Maximum Frequency Stack

二分法(Binary Search):

  • 基础知识:二分法是用来解法基本模板,时间复杂度logN;常见的二分法题目可以分为两大类,显式与隐式,即是否能从字面上一眼看出二分法的特点:要查找的数据是否可以分为两部分,前半部分为X,后半部分为O
  • 显式二分法:
    • Leetcode 34. Find First and Last Position of Element in Sorted Array
    • Leetcode 33. Search in Rotated Sorted Array
    • Leetcode 1095. Find in Mountain Array
    • Leetcode 162. Find Peak Element
    • Leetcode 278. First Bad Version
    • Leetcode 74. Search a 2D Matrix
    • Leetcode 240. Search a 2D Matrix II
  • 隐式二分法:
    • Leetcode 69. Sqrt(x)
    • Leetcode 540. Single Element in a Sorted Array
    • Leetcode 644. Maximum Average Subarray II
    • Leetcode 528. Random Pick with Weight
    • Leetcode 1300. Sum of Mutated Array Closest to Target
    • Leetcode 1060. Missing Element in Sorted Array
    • Leetcode 1062. Longest Repeating Substring
    • Leetcode 1891. Cutting Ribbons
    • Leetcode 410. Split Array Largest Sum (与1891类似)

双指针(2 Pointer):

  • 基础知识:常见双指针算法分为三类,同向(即两个指针都相同一个方向移动),背向(两个指针从相同或者相邻的位置出发,背向移动直到其中一根指针到达边界为止),相向(两个指针从两边出发一起向中间移动直到两个指针相遇)
  • 背向双指针:(基本上全是回文串的题)
    • Leetcode 409. Longest Palindrome
    • Leetcode 125. Valid Palindrome (I、II)
    • Leetcode 5. Longest Palindromic Substring
    • Leetcode 647. Palindromic Substrings
  • 相向双指针:(以two sum为基础的一系列题)
    • Leetcode 1. Two Sum (这里使用的是先排序的双指针算法,不同于hashmap做法)
    • Leetcode 167. Two Sum II - Input array is sorted
    • Leetcode 15. 3Sum
    • Leetcode 16. 3Sum Closest
    • Leetcode 18. 4Sum
    • Leetcode 454. 4Sum II
    • Leetcode 277. Find the Celebrity
    • Leetcode 11. Container With Most Water
    • Leetcode 186 Reverse Words in a String II
  • 同向双指针:(个人觉得最难的一类题,可以参考下这里 TimothyL:Leetcode 同向双指针/滑动窗口类代码模板)
    • Leetcode 283. Move Zeroes
    • Leetcode 26. Remove Duplicate Numbers in Array
    • Leetcode 395. Longest Substring with At Least K Repeating Characters
    • Leetcode 340. Longest Substring with At Most K Distinct Characters
    • Leetcode 424. Longest Repeating Character Replacement
    • Leetcode 76. Minimum Window Substring
    • Leetcode 3. Longest Substring Without Repeating Characters
    • Leetcode 1004 Max Consecutive Ones III
    • Leetcode 1658 Minimum Operations to Reduce X to Zero

宽度优先搜索(BFS):面试中最常考的

  • 基础知识:
    • 常见的BFS用来解决什么问题?(1) 简单图(有向无向皆可)的最短路径长度,注意是长度而不是具体的路径(2)拓扑排序 (3) 遍历一个图(或者树)
  • BFS基本模板(需要记录层数或者不需要记录层数)
  • 多数情况下时间复杂度空间复杂度都是O(N+M),N为节点个数,M为边的个数
  • 基于树的BFS:不需要专门一个set来记录访问过的节点
    • Leetcode 102 Binary Tree Level Order Traversal
    • Leetcode 103 Binary Tree Zigzag Level Order Traversal
    • Leetcode 297 Serialize and Deserialize Binary Tree (很好的BFS和双指针结合的题)
    • Leetcode 314 Binary Tree Vertical Order Traversal
  • 基于图的BFS:(一般需要一个set来记录访问过的节点)
    • Leetcode 200. Number of Islands
    • Leetcode 133. Clone Graph
    • Leetcode 127. Word Ladder
    • Leetcode 490. The Maze
    • Leetcode 323. Connected Component in Undirected Graph
    • Leetcode 130. Surrounded Regions
    • Leetcode 752. Open the Lock
    • Leetcode 815. Bus Routes
    • Leetcode 1091. Shortest Path in Binary Matrix
    • Leetcode 542. 01 Matrix
    • Leetcode 1293. Shortest Path in a Grid with Obstacles Elimination
    • Leetcode 417. Pacific Atlantic Water Flow
  • 拓扑排序:(https://zh.wikipedia.org/wiki/%E6%8B%93%E6%92%B2%E6%8E%92%E5%BA%8F)
    • Leetcode 207 Course Schedule (I, II)
    • Leetcode 444 Sequence Reconstruction
    • Leetcode 269 Alien Dictionary
    • Leetcode 310 Minimum Height Trees
    • Leetcode 366 Find Leaves of Binary Tree

深度优先搜索(DFS):面试中最常考的(分类的稍微有点粗糙了,没有细分出回溯/分治来,准备找个时间给每个DFS的题标记下是哪种DFS)

  • 基础知识:
    • 常见的DFS用来解决什么问题?(1) 图中(有向无向皆可)的符合某种特征(比如最长)的路径以及长度(2)排列组合(3) 遍历一个图(或者树)(4)找出图或者树中符合题目要求的全部方案
    • DFS基本模板(需要记录路径,不需要返回值 and 不需要记录路径,但需要记录某些特征的返回值)
    • 除了遍历之外多数情况下时间复杂度是指数级别,一般是O(方案数×找到每个方案的时间复杂度)
    • 递归题目都可以用非递归迭代的方法写,但一般实现起来非常麻烦
  • 基于树的DFS:需要记住递归写前序中序后序遍历二叉树的模板
    • Leetcode 543 Diameter of Binary Tree (分治)
    • Leetcode 124 Binary Tree Maximum Path Sum (分治)
    • Leetcode 226 Invert Binary Tree (分治)
    • Leetcode 101 Symmetric Tree (回溯 or 分治)
    • Leetcode 951 Flip Equivalent Binary Trees (分治)
    • Leetcode 236 Lowest Common Ancestor of a Binary Tree (相似题:235、1650) (回溯 or 分治)
    • Leetcode 105 Construct Binary Tree from Preorder and Inorder Traversal (分治)
    • Leetcode 104 Maximum Depth of Binary Tree (回溯 or 分治)
    • Leetcode 987 Vertical Order Traversal of a Binary Tree
    • Leetcode 1485 Clone Binary Tree With Random Pointer
    • Leetcode 572 Subtree of Another Tree (分治)
    • Leetcode 863 All Nodes Distance K in Binary Tree
    • Leetcode 1110 Delete Nodes And Return Forest (分治)
  • 二叉搜索树(BST):BST特征:中序遍历为单调递增的二叉树,换句话说,根节点的值比左子树任意节点值都大,比右子树任意节点值都小,增删查改均为O(h)复杂度,h为树的高度;注意不是所有的BST题目都需要递归,有的题目只需要while循环即可
    • Leetcode 230 Kth Smallest element in a BST
    • Leetcode 98 Validate Binary Search Tree
    • Leetcode 270 Cloest Binary Search Tree Value
    • Leetcode 235 Lowest Common Ancestor of a Binary Search Tree
    • Leetcode 669 Trim a Binary Search Tree (分治)
    • Leetcode 700 Search in a Binary Search Tree
    • Leetcode 108 Convert Sorted Array to Binary Search Tree (分治)
    • Leetcode 333 Largest BST Subtree (与98类似) (分治)
    • Leetcode 285 Inorder Successor in BST (I, II)
  • 基于图的DFS: 和BFS一样一般需要一个set来记录访问过的节点,避免重复访问造成死循环; Word XXX 系列面试中非常常见,例如word break,word ladder,word pattern,word search。
    • Leetcode 341 Flatten Nested List Iterator (339 364)
    • Leetcode 394 Decode String
    • Leetcode 51 N-Queens (I II基本相同)
    • Leetcode 291 Word Pattern II (I为简单的Hashmap题)
    • Leetcode 126 Word Ladder II (I为BFS题目)
    • Leetcode 93 Restore IP Addresses
    • Leetcode 22 Generate Parentheses
    • Leetcode 856 Score of Parentheses
    • Leetcode 301 Remove Invalid Parentheses
    • Leetcode 37 Sodoku Solver
    • Leetcode 212 Word Search II (I, II)
    • Leetcode 1087 Brace Expansion
    • Leetcode 399 Evaluate Division
    • Leetcode 1274 Number of Ships in a Rectangle
    • Leetcode 1376 Time Needed to Inform All Employees
    • Leetcode 694 Number of Distinct Islands
    • Leetcode 131 Palindrome Partitioning
  • 基于排列组合的DFS: 其实与图类DFS方法一致,但是排列组合的特征更明显
    • Leetcode 17 Letter Combinations of a Phone Number
    • Leetcode 39 Combination Sum(I, II, III相似, IV为动态规划题目)
    • Leetcode 78 Subsets (I, II 重点在于如何去重)
    • Leetcode 46 Permutation (I, II 重点在于如何去重)
    • Leetcode 77 Combinations (I, II 重点在于如何去重)
    • Leetcode 698 Partition to K Equal Sum Subsets
    • Leetcode 526 Beautiful Arrangement (similar to 46)
  • 记忆化搜索(DFS + Memoization Search):算是用递归的方式实现动态规划,递归每次返回时同时记录下已访问过的节点特征,避免重复访问同一个节点,可以有效的把指数级别的DFS时间复杂度降为多项式级别; 注意这一类的DFS必须在最后有返回值(分治法),不可以用回溯法; for循环的dp题目都可以用记忆化搜索的方式写,但是不是所有的记忆化搜索题目都可以用for循环的dp方式写。
    • Leetcode 139 Word Break II
    • Leetcode 72 Edit Distance
    • Leetcode 377 Combination Sum IV
    • Leetcode 1235 Maximum Profit in Job Scheduling
    • Leetcode 1335 Minimum Difficulty of a Job Schedule
    • Leetcode 1216 Valid Palindrome III
    • Leetcode 97 Interleaving String
    • Leetcode 472 Concatenated Words
    • Leetcode 403 Frog Jump
    • Leetcode 329 Longest Increasing Path in a Matrix

前缀和(Prefix Sum)

  • 基础知识:前缀和本质上是在一个list当中,用O(N)的时间提前算好从第0个数字到第i个数字之和,在后续使用中可以在O(1)时间内计算出第i到第j个数字之和,一般很少单独作为一道题出现,而是很多题目中的用到的一个小技巧
  • 常见题目:
    • Leetcode 53 Maximum Subarray
    • Leetcode 1423 Maximum Points You Can Obtain from Cards
    • Leetcode 1031 Maximum Sum of Two Non-Overlapping Subarrays
    • Leetcode 523 Continuous Subarray Sum
    • Leetcode 304 Range Sum Query 2D - Immutable

相关文章:

Leetcode面试高频题分类刷题总结

https://zhuanlan.zhihu.com/p/349940945 以下8个门类是面试中最常考的算法与数据结构知识点。 排序类(Sort): 基础知识:快速排序(Quick Sort), 归并排序(Merge Sort)的…...

JPA使用@EntityGraph立即加载关联实体

在JpaRepository接口中实现自定义查询的时候,必然会遇到一个问题,通过findBy等语句查询出来的结果通常情况下不会加载到关联的实体。例如我有一个Material类,其中有一个属性supplier使用了多对一关联到Supplier类,并开启懒加载&am…...

python多版本管理工具之pyenv

pyenv 是一个用于管理多个 Python 版本的工具,允许用户在同一台机器上轻松安装、切换和隔离不同版本的 Python 解释器。它特别适合需要同时处理多个项目的开发者(例如,不同项目依赖不同 Python 版本的情况)。以下是 pyenv 的详细指南: 本文基于Ubuntu 22.04版本进行安装,…...

107,【7】buuctf web [CISCN2019 华北赛区 Day2 Web1]Hack World

这次先不进入靶场 看到红框里面的话就想先看看uuid是啥 定义与概念 UUID 是 Universally Unique Identifier 的缩写,即通用唯一识别码。它是一种由数字和字母组成的 128 位标识符,在理论上可以保证在全球范围内的唯一性。UUID 的设计目的是让分布式系…...

9. k8s二进制集群之kube-controller-manager部署

同样在部署主机上创建证书请求文件(为之后的证书生成做准备)根据上面的证书文件创建证书(结果会在当前目录下产生kube-controller-manager证书)创建kube-controller-manager服务配置文件创建kube-controller-manager服务启动文件同步kube-controller-manager证书到对应mast…...

keil 单步调试技巧

一、常见错误分析 warningerror警告错误 不影响编译过程 能够输出Hex文件 无法完成编译 不输出Hex文件 注意的是,warning的信息是要去关注的。 下面的UNCALLED SEGMENT除外 二、单步调试配置 1、在keil中添加单片机型号 本文不详细介绍,如有需要可查看这篇文章:...

[leetcode]两数之和等于target

源代码 #include <iostream> #include <list> #include <iterator> // for std::prev using namespace std; int main() { int target 9; list<int> l{ 2, 3, 4, 6, 8 }; l.sort(); // 确保列表是排序的&#xff0c;因为双指针法要求输入是…...

Go语言的转义字符

文章目录 1. Go语言的转义字符(escapechar)2. 小结和提示 1. Go语言的转义字符(escapechar) 说明:常用的转义字符有如下: \t : 表示一个制表符&#xff0c;通常使用它可以排版\n &#xff1a;换行符\\ &#xff1a;一个\\" &#xff1a;一个"\r &#xff1a;一个回…...

低代码系统-产品架构案例介绍、蓝凌(十三)

蓝凌低代码系统&#xff0c;依旧是从下到上&#xff0c;从左至右的顺序。 技术平台h/iPaas 指低层使用了哪些技术&#xff0c;例如&#xff1a;微服务架构&#xff0c;MySql数据库。个人认为&#xff0c;如果是市场的主流&#xff0c;就没必要赘述了。 新一代门户 门户设计器&a…...

【大数据技术】搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn)

搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn) jdk-8u361-linux-x64.tarhadoop-3.3.6.tar.gz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群Hadoop+MapReduce+Yarn的详细步骤。 注意: 统一约定将软件安装包存放…...

Rapidjson 实战

Rapidjson 是一款 C 的 json 库. 支持处理 json 格式的文档. 其设计风格是头文件库, 包含头文件即可使用, 小巧轻便并且性能强悍. 本文结合样例来介绍 Rapidjson 一些常见的用法. 环境要求 有如何的几种方法可以将 Rapidjson 集成到您的项目中. Vcpkg安装: 使用 vcpkg instal…...

string类OJ练习题

目录 文章目录 前言 一、反转字符串 二、反转字符串 II 三、反转字符串中的单词 III 四、验证一个字符串是否是回文 五、字符串相加&#xff08;大数加法&#xff09; 六、字符串相乘&#xff08;大数乘法&#xff09; 七、把字符串转化为整数&#xff08;atoi&#xff09; 总结…...

Python进行模型优化与调参

在数据科学与机器学习领域,模型的优化与调参是提高模型性能的重要步骤之一。模型优化可以帮助提高模型的准确性和泛化能力,而合理的调参则能够充分发挥模型的潜力。这篇教程将重点介绍几种常用的模型优化与调参方法,特别是超参数调整和正则化技术的应用。这些技术能够有效地…...

Ollama+deepseek+Docker+Open WebUI实现与AI聊天

1、下载并安装Ollama 官方网址&#xff1a;Ollama 安装好后&#xff0c;在命令行输入&#xff0c; ollama --version 返回以下信息&#xff0c;则表明安装成功&#xff0c; 2、 下载AI大模型 这里以deepseek-r1:1.5b模型为例&#xff0c; 在命令行中&#xff0c;执行&…...

【PDF多区域识别】如何批量PDF指定多个区域识别改名,基于Windows自带的UWP的文字识别实现方案

海关在对进口货物进行查验时,需要核对报关单上的各项信息。对报关单 PDF 批量指定区域识别改名后,海关工作人员可以更高效地从文件名中获取关键信息,如货物来源地、申报价值等。例如文件名 “[原产国]_[申报价值].pdf”,有助于海关快速筛选重点查验对象,提高查验效率和监管…...

第一个Qt开发实例(一个Push Button按钮和两个Label)【包括如何在QtCreator中创建新工程、代码详解、编译、环境变量配置、测试程序运行等】

目录 Qt开发环境QtCreator的安装、配置在QtCreator中创建新工程在Forms→mainwindow.ui中拖曳出我们要的图形按钮查看拖曳出按钮后的代码为pushButton这个图形添加回调函数编译工程关闭开发板上QT的GUI(选做)禁止LCD黑屏(选做)设置Qt运行的环境变量运行Qt程序如何让程序在系统启…...

算法题(58):盛水最多的容器

审题&#xff1a; 需要我们找到数组height中的数据构建的可以盛水最多的容器&#xff0c;并把容量返回 思路&#xff1a; 容量 最短的容器边界 * 容器宽度 方法一&#xff1a;双层for循环 我们可以把所有情况枚举出来&#xff0c;然后维护一个最大容量 方法二&#xff1a;双指…...

MyBatis持久层框架

第1章 Mybatis框架入门 1.1 Mybatis简介 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下&#xff0c; iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。 MyBati…...

DeePseek结合PS!批量处理图片的方法教程

​ ​ 今天我们来聊聊如何利用deepseek和Photoshop&#xff08;PS&#xff09;实现图片的批量处理。 传统上&#xff0c;批量修改图片尺寸、分辨率等任务往往需要编写脚本或手动处理&#xff0c;而现在有了AI的辅助&#xff0c;我们可以轻松生成PS脚本&#xff0c;实现自动化处…...

【C++】多态(下)

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的多态&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 4. 多态的原理4.1 虚函数表4.2 多态的原理4.3 动态绑定与静态绑定 5. 单继承和多继承关系的虚…...

C++ 入门速通-第4章【黑马】

内容来源于&#xff1a;黑马 集成开发环境&#xff1a;CLion 先前学习完了C第1章的内容&#xff1a; C 入门速通-第1章【黑马】-CSDN博客 C 入门速通-第2章【黑马】-CSDN博客 C 入门速通-第3章【黑马】-CSDN博客 下面继续学习第4章&#xff1a; 结构体的基本应用&#xff1…...

Gauss高斯:分布键

分布键是决定数据分布到不同节点的列&#xff0c;直接影响数据的存储位置和后续查询的数据流向. 在分布式数据库系统中&#xff0c;分布键用于决定数据如何在不同的节点或分区中分布。 作用 分类 分布键的选择 避免常量过滤条件的字段&#xff1a;在选择分布键时&#xff0c;…...

Spring Security(maven项目) 3.0.3.1版本 - 动态JDBC认证

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…...

2024年半导体行业IPO与融资情况统计分析

重点内容速览&#xff1a; 1. IPO企业主要集中在科创板 2. 全年半导体行业融资事件超700起 2024年半导体行业的IPO和融资情况呈现出了显著的波动和变化。由于IPO政策的收紧&#xff0c;2024年成功上市的企业相比2023年的22家和2022年的45家有了显著降低&#xff0c;今年仅有1…...

Java 进阶 01 —— 5 分钟回顾一下 Java 基础知识

Java 进阶 01 —— 5 分钟回顾一下 Java 基础知识 Java 生态圈Java 跨平台的语言 Java 虚拟机规范JVM 跨语言的平台多语言混合编程两种架构 举例 JVM 的生命周期 虚拟机的启动虚拟机的执行虚拟机的退出 JVM 发展历程 Sun Classic VMExact VMHotSpotBEA 的 JRockitIBM 的 J9 …...

java进阶文章链接

java 泛型&#xff1a;java 泛型详解-绝对是对泛型方法讲解最详细的&#xff0c;没有之一 Java 泛型&#xff0c;你了解类型擦除吗&#xff1f; java 注解&#xff1a;深入理解Java注解类型 秒懂&#xff0c;Java 注解 &#xff08;Annotation&#xff09;你可以这样学 jav…...

【从零开始入门unity游戏开发之——C#篇48】C#补充知识点——静态导入、异常捕获和异常筛选器、nameof运算符

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...

离散浣熊优化算法(DCOA)求解大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP),MATLAB代码

大规模旅行商问题&#xff08;Large-Scale Traveling Salesman Problem&#xff0c;LTSP&#xff09;是经典旅行商问题&#xff08;TSP&#xff09;在规模上的扩展&#xff0c;是一个具有重要理论和实际意义的组合优化问题&#xff1a; 一、问题定义 给定一组城市和它们之间的…...

联邦学习中的一些专业术语

1. **Model Mixture&#xff08;模型混合&#xff09;** - **含义**&#xff1a;在联邦学习中&#xff0c;不同客户端的模型可能会被混合或融合&#xff0c;以生成一个更通用的全局模型。这种技术可以用于处理客户端之间的异质性。 - **应用场景**&#xff1a;当不同客户…...

从零开始实现一个双向循环链表:C语言实战

文章目录 1链表的再次介绍2为什么选择双向循环链表&#xff1f;3代码实现&#xff1a;从初始化到销毁1. 定义链表节点2. 初始化链表3. 插入和删除节点4. 链表的其他操作5. 打印链表和判断链表是否为空6. 销毁链表 4测试代码5链表种类介绍6链表与顺序表的区别7存储金字塔L0: 寄存…...

4种架构的定义和关联

文章目录 **1. 各架构的定义****业务架构&#xff08;Business Architecture&#xff09;****应用架构&#xff08;Application Architecture&#xff09;****数据架构&#xff08;Data Architecture&#xff09;****技术架构&#xff08;Technology Architecture&#xff09;*…...

一文解释pytorch 中的 squeeze() 和 unsqueeze()函数(全网最详细版)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 …...

4. k8s二进制集群之ETCD集群证书生成

安装cfssl工具配置CA证书请求文件创建CA证书创建CA证书策略配置etcd证书请求文件生成etcd证书 继续上一篇文章《负载均衡器高可用部署》下面介绍一下etcd证书生成配置。其中涉及到的ip地址和证书基本信息请替换成你自己的信息。 安装cfssl工具 下载cfssl安装包 https://github…...

验证工具:VCS概识

是的,我熟悉 VCS(Synopsys Verilog Compiler Simulator),它是芯片验证领域广泛使用的商用仿真工具之一,由Synopsys公司开发。以下是对VCS的详细介绍,包括其特点、应用场景和常见使用技巧: 一、VCS常见介绍 1. VCS的核心特点 编译型仿真器:VCS将RTL(Verilog/SystemVer…...

Linux 的 sysfs 伪文件系统介绍【用户可以通过文件操作与内核交互(如调用内核函数),而无需编写内核代码】

1. 什么是 sysfs伪文件系统&#xff1f; sysfs 是 Linux 内核提供的 伪文件系统&#xff0c;用于向用户空间暴露内核对象的信息和控制接口。它是 procfs 的补充&#xff0c;主要用于管理 设备、驱动、内核子系统 等信息&#xff0c;使用户可以通过文件操作&#xff08;如用户空…...

4.[ISITDTU 2019]EasyPHP

进入题目页面如下 给出PHP源码进行代码审计 <?php // 高亮显示当前文件的源代码 highlight_file(__FILE__);// 从 GET 请求中获取名为 _ 的参数&#xff0c;并将其赋值给变量 $_ // 符号用于抑制可能出现的错误信息 $_ $_GET[_];// 使用正则表达式对 $_ 变量的值进行匹配…...

【数学】矩阵、向量(内含矩阵乘法C++)

目录 一、前置知识&#xff1a;向量&#xff08;一列或一行的矩阵&#xff09;、矩阵1. 行向量2. 列向量3. 向量其余基本概念4. 矩阵基本概念5. 关于它们的细节 二、运算1. 转置&#xff08;1&#xff09;定义&#xff08;2&#xff09;性质 2. 矩阵&#xff08;向量&#xff0…...

Centos 8 离线升级openssh 9.9

背景 根据云服务漏检报告&#xff0c;需要升级云服务器openssh服务&#xff08;离线环境&#xff09;。本文将采用rpm包形式&#xff0c;将openssh服务由OpenSSH_8.0p1 升级至OpenSSH_9.9p1。准备一台能够联网的服务器&#xff08;简称server1&#xff09;用于下载程序包&#…...

Java入门进阶

文章目录 1、常用API 1.1、Math1.2、System1.3、Object1.4、Arrays1.5、基本类型包装类 1.5.1、基本类型包装类概述1.5.2、Integer1.5.3、int和String相互转换1.5.4、自动装箱和拆箱 1.6、日期类 1.6.1、Date类1.6.2、SimpleDateFormat类 1.6.2.1、格式化&#xff08;从Date到…...

torchtext.get_tokenizer

文章目录 1. 说明2. pytorch代码 1. 说明 假设我们有一个句子如下&#xff1a;You can now install TorchText using pip! 分词后可得&#xff1a;[you, can, now, install, torchtext, using, pip, !] 2. pytorch代码 import torchtext from torchtext.data import get_tok…...

​零技术开始,但想用 Next.js 基于 React 构建一个类似 18Touch 的网站​

如果你从零技术开始&#xff0c;但想用 Next.js 基于 React 构建一个类似 18Touch 的网站&#xff0c;以下是一个详细的规划和学习路径。这个网站看起来是一个内容展示型网站&#xff0c;可能包含博客、产品展示、用户交互等功能。 1. 项目规划 1.1 确定核心功能 根据 18Touc…...

python实现多路视频,多窗口播放功能

系列Python开发 文章目录 系列Python开发前言一、python实现多路视频播放功能二、代码实现1. http申请视频流地址并cv2播放功能 三、打包代码实现生成可执行文件 总结 前言 一、python实现多路视频播放功能 服务端开发后通常需要做功能测试、性能测试&#xff0c;通常postman、…...

设计模式---观察者模式

设计模式—观察者模式 定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 主要解决的问题&#xff1a;一个对象状态改变给其他对象通知的问题&#xff0c;而且要考虑到易用和低耦合&#xff0c;…...

TensorFlow深度学习实战(6)——回归分析详解

TensorFlow深度学习实战&#xff08;6&#xff09;——回归分析详解 0. 前言1. 回归分析简介2. 线性回归2.1 简单线性回归2.2 多重线性回归2.3 多元线性回归 3. 构建基于线性回归的神经网络3.1 使用 TensorFlow 进行简单线性回归3.2 使用 TensorFlow 进行多元线性回归和多重线性…...

Deepseek v3R1 学习笔记

o1 o1 模型在训练过程中混合了多种奖励函数的设计方法&#xff0c;并且尝试从结果监督转向过程监督&#xff0c;在中间过程进行打分 使用的搜索策略&#xff1a;基于树的搜索和基于顺序修改的搜索 R1 R1-Zero 是从基础模型开始&#xff0c;完全由强化学习驱动&#xff0c;不…...

Spring Boot统一异常拦截实践指南

Spring Boot统一异常拦截实践指南 一、为什么需要统一异常处理 在Web应用开发中&#xff0c;异常处理是保证系统健壮性和用户体验的重要环节。传统开发模式中常见的痛点包括&#xff1a; 异常处理逻辑分散在各个Controller中错误响应格式不统一敏感异常信息直接暴露给客户端…...

lmk内存压力测试工具mem-pressure源码剖析

背景&#xff1a; android系统开发过程中&#xff0c;经常会遇到一些low memory kill的问题&#xff0c;在分析这些系统低内存导致被杀问题时候&#xff0c;经常因为不好复现而成为一个比较烦恼的阻碍。因为这种低内存问题本身就不属于一种功能操作类型的问题&#xff0c;属于…...

物联网 STM32【源代码形式-ESP8266透传】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】

一、MQTT介绍 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;是一种基于发布/订阅模式的轻量级通讯协议&#xff0c;构建于TCP/IP协议之上。它最初由IBM在1999年发布&#xff0c;主要用于在硬件性能受限和网络状况不佳的情…...

【大模型】AI 辅助编程操作实战使用详解

目录 一、前言 二、AI 编程介绍 2.1 AI 编程是什么 2.1.1 为什么需要AI辅助编程 2.2 AI 编程主要特点 2.3 AI编程底层核心技术 2.4 AI 编程核心应用场景 三、AI 代码辅助编程解决方案 3.1 AI 大模型平台 3.1.1 AI大模型平台代码生成优缺点 3.2 AI 编码插件 3.3 AI 编…...

Eclipse IDE 快捷键大全

文章目录 简介 ✨常用编辑快捷键 ⌨️基础编辑操作查找和定位代码优化 调试快捷键 &#x1f41b;编辑器通用快捷键 &#x1f4dd;窗口操作快捷键 &#x1fa9f;特殊功能快捷键 &#x1f527;重构相关快捷键 &#x1f504;提示 &#x1f4a1; 简介 ✨ Eclipse 作为一款强大的集…...