上一页 1 2 3 4 5 6 ··· 16 下一页
摘要: 题⽬描述 请实现⼀个函数,⽤来判断⼀棵⼆叉树是不是对称的。注意,如果⼀个⼆叉树同此⼆叉树的镜像是同样 的,定义其为对称的。 例如:下⾯这棵⼆叉树是对称的 下⾯这个就不是对称的: 示例1 输⼊:{8,6,6,5,7,7,5} 返回值:true 示例2: 输⼊:{8,6,9,5,7,7,5} 返回值:f 阅读全文
posted @ 2026-01-04 09:00 程序员Seven 阅读(23) 评论(0) 推荐(0)
摘要: 题⽬描述 给定⼀个⼆叉树和其中的⼀个结点,请找出中序遍历顺序的下⼀个结点并且返回。注意,树中的结点不仅包含左右⼦结点,同时包含指向⽗结点的指针。 复杂的节点结构如下: public class TreeLinkNode { int val; TreeLinkNode left = null; Tre 阅读全文
posted @ 2025-12-31 09:00 程序员Seven 阅读(24) 评论(0) 推荐(0)
摘要: 题⽬描述 在⼀个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表 1->2->3->3->4->4->5 处理后为 1->2->5 示例1 输⼊:{1,2,3,3,4,4,5} 返回值:{1,2,5} 思路及解答 hash统计 第一次遍历统计频率 阅读全文
posted @ 2025-12-30 09:00 程序员Seven 阅读(39) 评论(0) 推荐(0)
摘要: 概述 其实回溯算法和我们常说的 DFS 算法非常类似,本质上就是一种暴力穷举算法。回溯算法和 DFS 算法的细微差别是:回溯算法是在遍历「树枝」,DFS 算法是在遍历「节点」 抽象地说,解决一个回溯问题,实际上就是遍历一棵决策树的过程,树的每个叶子节点存放着一个合法答案。你把整棵树遍历一遍,把叶子节 阅读全文
posted @ 2025-12-29 09:00 程序员Seven 阅读(34) 评论(0) 推荐(0)
摘要: 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 例如:有N件物品和一个最多能背重量为W 的背 阅读全文
posted @ 2025-12-26 09:00 程序员Seven 阅读(252) 评论(1) 推荐(2)
摘要: 题⽬描述 给⼀个链表,若其中包含环,请找出该链表的环的⼊⼝结点,否则,输出null 。 例如,输⼊{1,2},{3,4,5} 时,对应的环形链表如下图所示: 可以看到环的⼊⼝结点的结点值为3,所以返回结点值为3的结点。 给定的链表节点的结构: public class ListNode { int 阅读全文
posted @ 2025-12-25 09:00 程序员Seven 阅读(19) 评论(0) 推荐(0)
摘要: 题⽬描述 请实现⼀个函数⽤来找出字符流中第⼀个只出现⼀次的字符。例如,当从字符流中只读出前两个字符" go "时,第⼀个只出现⼀次的字符是" g "。当从该字符流中读出前六个字符“ google "时,第⼀个只出现⼀次的字符是" l "。 返回值描述:如果当前字符流没有存在出现⼀次的字符,返回 # 阅读全文
posted @ 2025-12-24 09:00 程序员Seven 阅读(33) 评论(0) 推荐(0)
摘要: 题⽬描述 请实现⼀个函数⽤来判断字符串str是否表示数值(包括科学计数法的数字,⼩数和整数)。科学计数法的数字(按顺序)可以分成以下⼏个部分: 若⼲空格 ⼀个整数或者⼩数 (可选)⼀个 ' e ' 或 ' E ' ,后⾯跟着⼀个整数(可正可负) 若⼲空格 ⼩数(按顺序)可以分成以下⼏个部分: 若⼲空 阅读全文
posted @ 2025-12-23 09:00 程序员Seven 阅读(48) 评论(0) 推荐(0)
摘要: 建图函数 List<Integer>[] buildGraph(int numCourses, int[][] prerequisites) { // 图中共有 numCourses 个节点 List<Integer>[] graph = new LinkedList[numCourses]; fo 阅读全文
posted @ 2025-12-22 09:00 程序员Seven 阅读(264) 评论(2) 推荐(1)
摘要: 递归算法 递归算法(Recursion Algorithm)是一种重要的编程方法,核心思想是函数通过调用自身来解决问题。在递归中,一个复杂的问题被分解为相同类型但规模更小的子问题,直到达到一个简单到可以直接解决的基本情况(基准情况)。递归算法特别适合解决具有自相似结构的问题,时间复杂度跟递归深度和每 阅读全文
posted @ 2025-12-19 09:00 程序员Seven 阅读(313) 评论(0) 推荐(0)
摘要: 题⽬描述 请实现⼀个函数⽤来匹配包括' . '和' * '的正则表达式。模式中的字符' . '表示任意⼀个字符, ⽽' * '表示它前⾯的字符可以出现任意次(包含0 次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串" aaa "与模式" a.a "和" ab*ac*a "匹配,但 阅读全文
posted @ 2025-12-18 09:00 程序员Seven 阅读(35) 评论(0) 推荐(0)
摘要: 题⽬描述 给定⼀个数组A[0,1,...,n-1] ,请构建⼀个数组B[0,1,...,n-1] ,其中B 中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1] 。不能使⽤除法。(注意:规定B[0] =A[1] * A[2] * ... * A[n-1],B 阅读全文
posted @ 2025-12-17 09:00 程序员Seven 阅读(29) 评论(0) 推荐(0)
摘要: 题目描述 在⼀个⻓度为 n 的数组⾥的所有数字都在 0 到n-1 的范围内。 数组中某些数字是重复的,但不知 道有⼏个数字是重复的。也不知道每个数字重复⼏次。请找出数组中第⼀个重复的数字。 例如,如果输⼊⻓度为 7 的数组 [2,3,1,0,2,5,3] ,那么对应的输出是第⼀个重复的数字 2 。没 阅读全文
posted @ 2025-12-16 09:00 程序员Seven 阅读(47) 评论(0) 推荐(0)
摘要: Rabin-Karp算法 Rabin-Karp算法是一种基于哈希函数的字符串匹配算法,由 Michael O. Rabin 和 Richard M. Karp 于1987年提出,核心思想是用哈希函数将模式串和文本串中的子串转换为数值进行比较,避免大量不必要的字符比较。这个算法特别适合多模式串匹配场景 阅读全文
posted @ 2025-12-15 09:00 程序员Seven 阅读(384) 评论(0) 推荐(1)
摘要: 二分查找 二分查找(Binary Search)是一种高效的查找算法,也叫折半查找。核心思想:对于一个有序的数据集合,每次查找都将查找范围缩小为原来的一半,直到找到目标值或确定目标值不存在。二分查找要求数据必须是有序的,经常应用于数组等支持随机访问的数据结构里。跟线性查找相比,二分查找的效率要高得多 阅读全文
posted @ 2025-12-12 09:00 程序员Seven 阅读(267) 评论(0) 推荐(2)
摘要: 题⽬描述 请你来实现⼀个 myAtoi(string s) 函数,使其能将字符串转换成⼀个 32 位有符号整数(类似C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读⼊字符串并丢弃⽆⽤的前导空格 检查下⼀个字符(假设还未到字符末尾)为正还是负号,读取该字符 阅读全文
posted @ 2025-12-11 09:00 程序员Seven 阅读(56) 评论(0) 推荐(0)
摘要: 题⽬描述 写⼀个函数,求两个整数之和,要求在函数体内不得使⽤ + 、 - 、 * 、 / 四则运算符号。 示例1 输⼊:1,2 返回值:3 思路及解答 位运算迭代法(推荐) 将加法分解为「无进位和」+「进位值」,循环直到进位为0 位运算加法的数学原理: 异或运算 (^):实现无进位加法 0^0=0, 阅读全文
posted @ 2025-12-10 09:00 程序员Seven 阅读(50) 评论(0) 推荐(0)
摘要: 题⽬描述 求 1+2+3+...+n ,要求不能使⽤乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字及条件判断语句( A?B:C )。 示例 输⼊:5 输出:15 思路及解答 用for循环 这个问题,如果直接使⽤ for 循环,超级简单,重拳出击,时 阅读全文
posted @ 2025-12-09 09:00 程序员Seven 阅读(52) 评论(0) 推荐(0)
摘要: 引言 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀 阅读全文
posted @ 2025-12-08 09:00 程序员Seven 阅读(379) 评论(0) 推荐(4)
摘要: 概述 树就是一种类似现实生活中的树的数据结构(倒置的树)。任何一颗非空树只有一个根节点。 树的定义:树是⼀种数据结构,它是由n(n≥1)个有限节点组成⼀个具有层次关系的集合。把它叫做“树”是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,⽽叶朝下的。 一棵树具有以下特点: 每个节点有零个或多个⼦节点 阅读全文
posted @ 2025-12-05 09:00 程序员Seven 阅读(270) 评论(0) 推荐(3)
上一页 1 2 3 4 5 6 ··· 16 下一页