yyf_blog

私信 关注
Crystal_Coding
码龄5年
  • 238,791
    被访问量
  • 514
    原创文章
  • 9,464
    作者排名
  • 38
    粉丝数量
  • 于 2015-09-29 加入CSDN
获得成就
  • 获得78次点赞
  • 内容获得25次评论
  • 获得255次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #机器学习
TA的专栏
  • 论文
    2篇
  • python
  • python程序常见错误
    1篇
  • python数据分析
    26篇
  • Python入门
    58篇
  • 计算机基础
    6篇
  • Mysql
    2篇
  • 计算机网络
    4篇
  • 数据结构
    9篇
  • c++
    166篇
  • c++错误分析
    1篇
  • 基础
    37篇
  • 刷题(leetcode/Acwing/剑指offer)
    88篇
  • c++数组
    46篇
  • leetcode总结
    4篇
  • 算法
    157篇
  • 排序
    11篇
  • 数学
    16篇
  • 字符串
    43篇
  • 树、图
    56篇
  • c++链表
    26篇
  • Vector
    3篇
  • 栈
    4篇
  • 正则表达式
  • 位运算
    8篇
  • 递归
    4篇
  • 安装中的问题
    3篇
  • 剑指offer
    62篇
  • 面试专栏
    18篇
  • QT
    6篇
  • 深度学习
    3篇
  • pytorch
    1篇
  • 机器学习
  • markdown编辑器使用方法
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

leetcode118. Pascal‘s Triangle(118. 杨辉三角)

文章目录题目:118. 杨辉三角基本思想:数学题目:118. 杨辉三角Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle.In Pascal’s triangle, each number is the sum of the two numbers directly above it.Example:Input: 5Output:[ [1], [1,1],
原创
30阅读
0评论
0点赞
发布博客于 2 月前

leetcode621. Task Scheduler(621. 任务调度器)/贪心

文章目录题目:621. 任务调度器基本思想:题目:621. 任务调度器Given a characters array tasks, representing the tasks a CPU needs to do, where each letter represents a different task. Tasks could be done in any order. Each task is done in one unit of time. For each unit of time, th
原创
25阅读
0评论
0点赞
发布博客于 2 月前

leetcode659. Split Array into Consecutive Subsequences(659. 分割数组为连续子序列)/哈希+堆

文章目录题目:659. 分割数组为连续子序列基本思想:哈希+堆题目:659. 分割数组为连续子序列Given an array nums sorted in ascending order, return true if and only if you can split it into 1 or more subsequences such that each subsequence consists of consecutive integers and has length at least 3.
原创
33阅读
0评论
0点赞
发布博客于 3 月前

leetcode204. Count Primes(204. 计数质数)/埃式筛

文章目录题目:204. 计数质数基本思想:埃式筛题目:204. 计数质数Count the number of prime numbers less than a non-negative number, n.Example 1:Input: n = 10Output: 4Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.Example 2:Input: n = 0Output: 0Exa
原创
41阅读
0评论
0点赞
发布博客于 3 月前

leetcode321. Create Maximum Number(321. 拼接最大数)/单调栈

文章目录题目:321. 拼接最大数基本思想:单调栈题目:321. 拼接最大数Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum number of length k <= m + n from digits of the two. The relative order of the digits from the same array must be pres
原创
30阅读
0评论
0点赞
发布博客于 3 月前

leetcode767. Reorganize String(767. 重构字符串)

文章目录题目:767. 重构字符串基本思想:计数+贪心题目:767. 重构字符串Given a string S, check if the letters can be rearranged so that two characters that are adjacent to each other are not the same.If possible, output any possible result. If not possible, return the empty string.
原创
20阅读
0评论
0点赞
发布博客于 3 月前

leetcode976. Largest Perimeter Triangle(976. 三角形的最大周长)

文章目录题目:976. Largest Perimeter Triangle(976. 三角形的最大周长)基本思想:排序+三角形法则题目:976. Largest Perimeter Triangle(976. 三角形的最大周长)Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero area, formed from 3 of these lengths.If it
原创
33阅读
0评论
0点赞
发布博客于 3 月前

leetcode493. Reverse Pairs(493. 翻转对)/树状数组

文章目录题目:leetcode493. Reverse Pairs(493. 翻转对)基本思想1:BST(二叉搜索树)超时了基本思想2:BIT(Binary Indexed Tree)树状数组题目:leetcode493. Reverse Pairs(493. 翻转对)Given an array nums, we call (i, j) an important reverse pair if i < j and nums[i] > 2*nums[j].You need to retur
原创
23阅读
0评论
0点赞
发布博客于 3 月前

leetcode454. 4Sum II(四数相加 II )/哈希

文章目录题目:454. 4Sum II(四数相加 II)基本思想:分组+哈希题目:454. 4Sum II(四数相加 II)Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l] is zero.To make problem a bit easier, all A, B, C, D have sam
原创
26阅读
0评论
0点赞
发布博客于 3 月前

leetcode164. 最大间距/桶排序

文章目录题目:164. 最大间距基本思想1:借助set(严格来讲不符合题目要求)基本思想2:桶排序题目:164. 最大间距给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数
原创
31阅读
0评论
0点赞
发布博客于 3 月前

leetcode1370. 上升下降字符串/桶计数

文章目录题目:1370. 上升下降字符串基本思想:桶计数(哈希)题目:1370. 上升下降字符串给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果
原创
19阅读
0评论
0点赞
发布博客于 3 月前

leetcode222. 完全二叉树的节点个数

文章目录题目:222. 完全二叉树的节点个数基本思想1:层次遍历(bfs)基本思想2:二分查找+位运算题目:222. 完全二叉树的节点个数给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ /4 5 6输出: 6来源:力扣(L
原创
36阅读
0评论
0点赞
发布博客于 3 月前

leetcode452. 用最少数量的箭引爆气球/贪心

文章目录题目:452. 用最少数量的箭引爆气球基本思想: 贪心算法题目:452. 用最少数量的箭引爆气球在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以
原创
35阅读
0评论
0点赞
发布博客于 3 月前

leetcode242. 有效的字母异位词

文章目录题目:242. 有效的字母异位词基本思想:map题目:242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?来源:力扣(L
原创
21阅读
0评论
0点赞
发布博客于 3 月前

leetcode147. 对链表进行插入排序

文章目录题目:147. 对链表进行插入排序基本思想:前插法题目:147. 对链表进行插入排序对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插
原创
20阅读
0评论
0点赞
发布博客于 3 月前

leetcode140. 单词拆分 II/记忆化dfs

文章目录题目:140. 单词拆分 II基本思想1:普通dfs(超时)基本思想2:记忆化dfs题目:140. 单词拆分 II给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "d
原创
34阅读
0评论
0点赞
发布博客于 3 月前

leetcode134. 加油站/贪心算法

文章目录题目:134. 加油站基本思想:暴力基本思想2:贪心算法题目:134. 加油站在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:
原创
32阅读
0评论
0点赞
发布博客于 3 月前

leetcode1030. 距离顺序排列矩阵单元格

文章目录题目:1030. 距离顺序排列矩阵单元格基本思想1:层次遍历(bfs)基本思想2:自定义排序函数题目:1030. 距离顺序排列矩阵单元格给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为 (r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2) 之间的距离
原创
41阅读
0评论
0点赞
发布博客于 3 月前

leetcode406. 根据身高重建队列

文章目录题目:406. 根据身高重建队列基本思想:贪心题目:406. 根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]来源:力扣(Le
原创
48阅读
0评论
0点赞
发布博客于 3 月前

leetcode402. 移掉K位数字

文章目录402. 移掉K位数字基本思想:贪心+单调栈402. 移掉K位数字给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = "10200", k = 1输出: "200"
原创
19阅读
0评论
0点赞
发布博客于 3 月前

leetcode328. 奇偶链表

文章目录题目:328. 奇偶链表基本思想:一次遍历题目:328. 奇偶链表给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULL示例
原创
22阅读
0评论
0点赞
发布博客于 3 月前

leetcode922. 按奇偶排序数组 II

文章目录题目:922. 按奇偶排序数组 II基本思想:遍历题目:922. 按奇偶排序数组 II给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。 提示:2 <= A.length <= 2
原创
92阅读
1评论
0点赞
发布博客于 3 月前

leetcode514. 自由之路/记忆化dfs

文章目录题目:514. 自由之路基本思想:记忆化dfs题目:514. 自由之路视频游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐,然后按下
原创
67阅读
0评论
0点赞
发布博客于 3 月前

leetcode973. 最接近原点的 K 个点/优先队列

文章目录题目:973. 最接近原点的 K 个点基本思想:优先队列题目:973. 最接近原点的 K 个点我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。(这里,平面上两点之间的距离是欧几里德距离。)你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。示例 1:输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释: (1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和
原创
85阅读
0评论
0点赞
发布博客于 3 月前

leetcode327. 区间和的个数

文章目录题目:327. 区间和的个数基本思想1:暴力(超时)(固定区间的开始位置,遍历结尾)基本思想2:固定区间的结束位置,遍历开始位置,借助multiset优化题目:327. 区间和的个数给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。说明:最直观的算法复杂度是 O(n2) ,请在此基础上优化你的算法。示例:
原创
42阅读
0评论
0点赞
发布博客于 3 月前

leetcode1356. 根据数字二进制下 1 的数目排序

文章目录题目:1356. 根据数字二进制下 1 的数目排序基本思想:题目:1356. 根据数字二进制下 1 的数目排序给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。示例 1:输入:arr = [0,1,2,3,4,5,6,7,8]输出:[0,1,2,4,8,3,5,6,7]解释:[0] 是唯一一个有 0 个 1 的数。[1,2,4,8] 都有 1 个
原创
39阅读
0评论
0点赞
发布博客于 3 月前

leetcode127. 单词接龙

文章目录题目:127. 单词接龙基本思想:bfs题目:127. 单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 endWord 是非空的,且二者不相同。
原创
79阅读
0评论
0点赞
发布博客于 4 月前

leetcode57. 插入区间

文章目录题目:57. 插入区间基本思想:遍历的同时进行区间合并题目:57. 插入区间给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newI
原创
19阅读
0评论
0点赞
发布博客于 4 月前

leetcode941. 有效的山脉数组

文章目录题目:941. 有效的山脉数组基本思想:遍历题目:941. 有效的山脉数组给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i] > A[i+1] > … > A[A.length
原创
22阅读
0评论
0点赞
发布博客于 4 月前

leetcode349. 两个数组的交集

文章目录题目:349. 两个数组的交集基本思想1:暴力基本思想2:借助集合实现题目:349. 两个数组的交集给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。来源:力扣(LeetCode)链接:https://leet
原创
14阅读
0评论
0点赞
发布博客于 4 月前

leetcode1365. 有多少小于当前数字的数字

文章目录题目:1365. 有多少小于当前数字的数字基本思想1:暴力基本思想2:排序基本思想3:计数排序题目:1365. 有多少小于当前数字的数字给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。示例 1:输入:nums = [8,1,2,2,3]输出:[4,0,1,1,3]解释:
原创
31阅读
0评论
0点赞
发布博客于 4 月前

leetcode845. 数组中的最长山脉

文章目录题目:845. 数组中的最长山脉基本思想:枚举山顶题目:845. 数组中的最长山脉我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”:B.length >= 3存在 0 < i < B.length - 1 使得 B[0] < B[1] < … B[i-1] < B[i] > B[i+1] > … > B[B.length - 1](注意:B 可以是 A 的任意子数组,包括整个数组 A。)给出一个整数数组 A,返回
原创
28阅读
0评论
0点赞
发布博客于 4 月前

leetcode1024. 视频拼接

文章目录题目:1024. 视频拼接基本思想1:dfs(超时了)基本思想2:动态规划基本思想3:贪心算法题目:1024. 视频拼接你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1] 结束。我们甚至可以对这些片段自由地再剪辑,例如片段 [0, 7] 可以剪切成 [0, 1] + [1, 3] + [3, 7] 三部分。我们需要将这些片段进
原创
236阅读
0评论
0点赞
发布博客于 4 月前

操作系统面试题

文章目录(1)进程、线程、协程(2)进程间通信的方式(3)IO多路复用有哪几种方式?区别?(1)进程、线程、协程参考链接:https://www.cnblogs.com/lxmhhy/p/6041001.html进程: 具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统资源分配的基本单位。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销比较大,但相对比较稳定安全。线程: 线程是任务调度和执行的最小单位,线程基本上不拥有系统资源,只拥有在运行中必要的资源(程序计数器、寄存
原创
36阅读
0评论
0点赞
发布博客于 4 月前

leetcode925. 长按键入

文章目录题目:925. 长按键入基本思想:双指针题目:925. 长按键入你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和 'e' 被长按。示例 2:输入:name = "s
原创
23阅读
0评论
0点赞
发布博客于 4 月前

leetcode143. 重排链表

文章目录题目:143. 重排链表基本思想:原地操作,每次寻找最后一个节点题目:143. 重排链表给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5
原创
26阅读
0评论
0点赞
发布博客于 4 月前

python中没有自增(++),自减(--)操作

参考链接:点击链接首先说明一点:C++中的自增自减操作本质是改变的对象本身。但是,在python中规定数值对象是不可改变的,也就是说在进行 i = i + 1 操作时,相当于创建了一个新的 i , 而不是改变 i 中的值。a = 10b = 10print(id(a))print(id(b))print(a is b)a = a + 1print(id(a))print(id(11))输出:140706795250608140706795250608True140706795
原创
106阅读
0评论
0点赞
发布博客于 4 月前

leetcode977. 有序数组的平方

文章目录题目:977. 有序数组的平方基本思想:双指针题目:977. 有序数组的平方给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= A.length <= 10000-10000 <= A[i] <= 10000A 已按非递减顺序排序。
原创
38阅读
0评论
0点赞
发布博客于 4 月前

leetcode116. 填充每个节点的下一个右侧节点指针/层次遍历

文章目录题目:116. 填充每个节点的下一个右侧节点指针基本思想:层次遍历题目:116. 填充每个节点的下一个右侧节点指针给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next
原创
21阅读
0评论
0点赞
发布博客于 4 月前

leetcode530. 二叉搜索树的最小绝对差/中序遍历

文章目录题目:530. 二叉搜索树的最小绝对差基本思想:中序遍历题目:530. 二叉搜索树的最小绝对差给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。示例:输入: 1 \ 3 / 2输出:1解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。提示:树中至少有 2 个节点。本题与 783 https://leetcode-cn.com/problems/minimum-dis
原创
70阅读
0评论
0点赞
发布博客于 4 月前

leetcode416. 分割等和子集/动态规划

文章目录题目:416. 分割等和子集基本思想1:dfs(超时)基本思想2:动态规划题目:416. 分割等和子集给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元
原创
60阅读
0评论
0点赞
发布博客于 4 月前

leetcode344. 反转字符串/双指针

文章目录题目:344. 反转字符串基本思想:双指针题目:344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a"
原创
27阅读
0评论
0点赞
发布博客于 4 月前

leetcodeLCP 19. 秋叶收藏集/动态规划

文章目录题目:基本思想:动态规划题目:小扣出去秋游,途中收集了一些红叶和黄叶,他利用这些叶子初步整理了一份秋叶收藏集 leaves, 字符串 leaves 仅包含小写字符 r 和 y, 其中字符 r 表示一片红叶,字符 y 表示一片黄叶。出于美观整齐的考虑,小扣想要将收藏集中树叶的排列调整成「红、黄、红」三部分。每部分树叶数量可以不相等,但均需大于等于 1。每次调整操作,小扣可以将一片红叶替换成黄叶或者将一片黄叶替换成红叶。请问小扣最少需要多少次调整操作才能将秋叶收藏集调整完毕。示例 1:输入:l
原创
45阅读
0评论
0点赞
发布博客于 5 月前

leetcode701. 二叉搜索树中的插入操作/中序遍历,直接插入

文章目录题目:701. 二叉搜索树中的插入操作基本思想1:中序遍历基本思想2:直接寻找节点插入的位置题目:701. 二叉搜索树中的插入操作给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如:给定二叉搜索树: 4 / \ 2 7 /
原创
73阅读
0评论
0点赞
发布博客于 5 月前

面试题设计模式

文章目录常用的设计模式单例模式常用的设计模式单例模式、工厂模式、代理模式、装饰着模式单例模式参考链接:https://blog.csdn.net/qq_23225317/article/details/79770230单例模式:保证类的实例化对象仅有一个,并且提供一个访问他的全局访问点应用场景:表示文件系统的类,一个操作系统一定是只有一个文件系统,因此文件系统的类的实例有且仅有一个打印机打印程序的实例,一台计算机可以连接好几台打印机,但是计算机上的打印程序只有一个,就可以通过单例模式来避免
原创
44阅读
0评论
0点赞
发布博客于 5 月前

leetcode117. 填充每个节点的下一个右侧节点指针 II/层次遍历

文章目录题目:117. 填充每个节点的下一个右侧节点指针 II基本思想1:层次遍历基本思想2:层次遍历(进阶)题目:117. 填充每个节点的下一个右侧节点指针 II给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进
原创
23阅读
0评论
0点赞
发布博客于 5 月前

leetcode106. 从中序与后序遍历序列构造二叉树/递归

文章目录题目:106. 从中序与后序遍历序列构造二叉树基本思想:递归构建题目:106. 从中序与后序遍历序列构造二叉树根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如:给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcod
原创
30阅读
0评论
0点赞
发布博客于 5 月前

leetcode501. 二叉搜索树中的众数

文章目录题目:501. 二叉搜索树中的众数基本思想1:dfs+map统计次数基本思想2:中序遍历题目:501. 二叉搜索树中的众数给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2 / 2返回[2].提示:
原创
282阅读
0评论
0点赞
发布博客于 5 月前

leetcode538. 把二叉搜索树转换为累加树/中序遍历

文章目录题目:538. 把二叉搜索树转换为累加树基本思想:中序遍历逆序中序遍历:右根左的形式题目:538. 把二叉搜索树转换为累加树给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 原始二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18
原创
30阅读
0评论
0点赞
发布博客于 5 月前

leetcode404. 左叶子之和/dfs,bfs

文章目录题目:leetcode404. 左叶子之和基本思想1:递归实现dfs基本思想2:层次遍历bfs题目:leetcode404. 左叶子之和计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves著作权归领扣网络所有。商业转
原创
23阅读
0评论
0点赞
发布博客于 5 月前

同步,异步,阻塞,非阻塞

参考链接:https://blog.csdn.net/qq_38128179/article/details/86132731同步和异步:(消息通信机制)同步:正在执行的两个进程,进程B必须收到进程A的返回值之后,才能继续执行下去,这个两进程是同步关系异步:相反,进程B需要进程A的返回值,但是当这个返回值没有到达B之前,进程A可以继续执行,这两个进程是异步关系阻塞和非阻塞:(等待结果时进程的状态)阻塞:正在执行的两个进程,进程A在等待进程B的消息的时候,被挂起,一直等下去,不能干别的事情,直
原创
29阅读
0评论
0点赞
发布博客于 5 月前

leetcode1122. 数组的相对排序

文章目录题目:1122. 数组的相对排序基本思想:map题目:1122. 数组的相对排序给你两个数组,arr1 和 arr2,arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,
原创
38阅读
0评论
0点赞
发布博客于 5 月前

leetocde212. 单词搜索 II/前缀树

文章目录212. 单词搜索 II前缀树212. 单词搜索 II给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入: words = ["oath","pea","eat","rain"] and board =[ ['o','a','a','n'], ['e','t'
原创
46阅读
0评论
0点赞
发布博客于 5 月前

leetcode685. 冗余连接 II/并查集

文章目录题目:685. 冗余连接 II基本思想:并查集题目:685. 冗余连接 II在本问题中,有根树指满足以下条件的有向图。该树只有一个根节点,所有其他节点都是该根节点的后继。每一个节点只有一个父节点,除了根节点没有父节点。输入一个有向图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。 每一个边 的元素是一对 [u, v],用以表示有向图中连接顶点 u 和顶
原创
89阅读
0评论
0点赞
发布博客于 5 月前

电信面试

作者:折纸团团链接:https://www.nowcoder.com/discuss/508829?type=all&order=time&pos=&page=1&channel=1009&source_id=search_all来源:牛客网1.const类对象怎么访问非const成员变量const2.构造函数可不可以是虚函数,要不要把所有的析构函数都定义成虚函数3.vector,list,map的区别,vector在push_back遇到内存不够怎么办
原创
92阅读
0评论
0点赞
发布博客于 5 月前

计算机网络面试题总结

文章目录(5) TCP和UDP的区别(6) TCP和UDP相关的协议与端口号(1) 建立TCP服务器的各个系统调用(2) 继上一题,说明socket网络编程有哪些系统调用?其中close是一次就能直接关闭的吗,半关闭状态是怎么产生的?(3) 对路由协议的了解与介绍。内部网关协议IGP包括RIP,OSPF,和外部网关协议EGP和BGP.(4) 路由协议所使用的算法。(5) TCP和UDP的区别TCP是有连接的协议,UDP是无连接的协议TCP传输的是字节流,把数据看成一连串无结构的字节流;UDP
原创
85阅读
0评论
0点赞
发布博客于 5 月前

C++面试题

作者:守望者1028链接:https://www.nowcoder.com/discuss/55353?type=2&order=0&pos=85&page=3来源:牛客网(1) 指针和引用的区别(2) 堆和栈的区别(3) new和delete是如何实现的,new 与 malloc的异同处(4) C和C++的区别(5) C++、Java的联系与区别,包括语言特性、垃圾回收、应用场景等(java的垃圾回收机制)(6) Struct和class的区别(7) define
原创
139阅读
0评论
0点赞
发布博客于 5 月前

函数指针和指针函数

函数指针(指向函数的指针)函数指针本质上是一个指针,这个指针指向一个函数,指针保存的是函数的地址(即函数名)int fun(int x, int y){ return x + y;}int (*p)(int, int);//最左面的int表示函数的返回类型,最右面括号里面的两个int表示函数的参数类型p = fun;指针函数指针函数本质上是一个函数,这个函数的返回值是一个指针int * fun(int x, int y)参考链接:https://blog.csdn.net/luoy
原创
46阅读
0评论
0点赞
发布博客于 5 月前

leetcode637. 二叉树的层平均值/层次遍历

文章目录题目:637. 二叉树的层平均值基本思想:层次遍历题目:637. 二叉树的层平均值给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。示例 1:输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示:节点值的范围在32位有符号整数范围内。来源:力扣(LeetCode)链接:ht
原创
31阅读
0评论
0点赞
发布博客于 5 月前

leetcode216. 组合总和 III/dfs

文章目录题目:leetcode216. 组合总和 III基本思想:dfs题目:leetcode216. 组合总和 III找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]来源:力扣(LeetC
原创
18阅读
0评论
0点赞
发布博客于 5 月前

广联达笔试第三题0909/数组中按照一定规则删除重复元素

题目描述:我们希望一个序列中的元素是各不相同的,但是理想和现实往往是有差距的。现在给出一个序列A,其中难免有些相同的元素,现在提供了一种变化方式,使得经过若干次操作后一定可以得到一个元素各不相同的序列。这个操作是这样的,令x为序列中最小的有重复的数字,你需要删除序列左数第一个x,并把第二个x替换为2*x。请你输出最终的序列。例如原序列是[2,2,1,1,1],一次变换后变为[2,2,2,1],两次变换后变为[4,2,1],变换结束输入描述输入第一行包含一个正整数n,表示序列的长度为n。(1<
原创
369阅读
0评论
1点赞
发布博客于 5 月前

自定义类型的比较函数

文章目录priority_queue自定义类型,比较函数的处理方式map中自定义类型的比较函数的处理方式sort函数,对于自定义类型的比较priority_queue自定义类型,比较函数的处理方式#include <bits/stdc++.h>using namespace std; struct Node{ int val; int cnt; Node(int a, int b): val(a), cnt(b){}};struct cmp{ b
原创
121阅读
0评论
0点赞
发布博客于 5 月前

leetcode347. 前 K 个高频元素/堆排

文章目录写在前面题目:347. 前 K 个高频元素基本思想:两次map写在前面这道题类似于昨晚腾讯的笔试题目,只不过腾讯的题目在此基础上又增加了前K个低频元素,看来多刷题还是有好处的。题目:347. 前 K 个高频元素给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1] 提示:你可以假设给定的 k 总是合理的,且 1
原创
40阅读
0评论
0点赞
发布博客于 5 月前

leetcode60. 第k个排列/dfs+剪枝

文章目录题目:60. 第k个排列基本思想:dfs+剪枝题目:60. 第k个排列给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。示例 1:输入: n = 3, k = 3输出: "213"示例 2:输入:
原创
38阅读
0评论
0点赞
发布博客于 6 月前

快速排序非递归实现/好未来笔试编程题

文章目录写在前面快排非递归写在前面好未来的笔试编程题的第二题快排非递归参考:点击链接基本思想:在利用递归排序时的流程是:先选一个基准元素,将小于基准元素的放在基准的左面,大于基准元素的放在基准的右面对移动好的数组的左边和右边分别递归排序那非递归其实就是利用数组保存待排序的子数组的左右边界vector<int> nums;//存放未排序的数组huafen//划分int Partition(int left, int right){ int flag = nums[le
原创
47阅读
0评论
0点赞
发布博客于 6 月前

leetcode257. 二叉树的所有路径/bfs,dfs

文章目录题目:257. 二叉树的所有路径基本思想:dfs基本思想2:bfs题目:257. 二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3来源:力扣(LeetCode)链接:https://leetcode-cn.c
原创
50阅读
0评论
0点赞
发布博客于 6 月前

SQL笔记1——SELECT

选择语句中常用的关键字1.ORDER BY知识点链接题目链接14题.Show the 1984 winners and subject ordered by subject and winner name; but list Chemistry and Physics last.写法一:SELECT winner, subject FROM nobel WHERE yr=...
原创
69阅读
0评论
0点赞
发布博客于 6 月前

C++ STL

写在前面容器的分类:序列式(元素可排序):array,vector,heap,priority-queue,list,deque,stack,queue关系型:RB-tree(非公开),set, map, multiset,multimap,hashtable,hash_set,hash_map,hash_multiset,hash_multimap1.1 vectorvevtor是...
原创
34阅读
0评论
0点赞
发布博客于 6 月前

leetcode486. 预测赢家/动态规划,记忆化递归

文章目录题目:486. 预测赢家基本思想:记忆化递归(自上而下)动态规划(自下而上)题目:486. 预测赢家给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。示例 1:输入:[1, 5, 2]
原创
49阅读
0评论
0点赞
发布博客于 6 月前

leetcode557. 反转字符串中的单词 III

文章目录题目:557. 反转字符串中的单词 III基本思想:原地反转题目:557. 反转字符串中的单词 III给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"提示:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。来源:力扣(LeetCode)链接:https://leetcode-cn.com
原创
59阅读
0评论
0点赞
发布博客于 6 月前

leetcode214. 最短回文串/KMP

文章目录题目:214. 最短回文串基本思想1:KMP基本思想2:中心扩展(超时了)题目:214. 最短回文串给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例 1:输入: "aacecaaa"输出: "aaacecaaa"示例 2:输入: "abcd"输出: "dcbabcd"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shortest-palindrome著作
原创
41阅读
0评论
0点赞
发布博客于 6 月前

0828趋势

作者:芒果、欧尼酱链接:https://www.nowcoder.com/discuss/490721?type=all&order=time&pos=&page=1&channel=666&source_id=search_all来源:牛客网一面 2020.08.27一个大叔,起码20年开发经验,笑呵呵的1、自我介绍2、面向对象的三大特性封装、继承、多态封装:将数据对象和实现过程包围起来,对其内部数据的访问只能通过接口进行访问,能降低耦合性。
原创
53阅读
0评论
0点赞
发布博客于 6 月前

操作系统学习笔记

文章目录1.引言1.引言操作系统:应用程序资源管理器特征:并发:共享虚拟异步
原创
38阅读
0评论
0点赞
发布博客于 6 月前

数据库面试题

索引作用,应该/不应该创建索引的列,索引底层实现,sql语法,常见引擎特点,事务特点,隔离级别(引擎默认级别),隔离级别的问题,锁等(1) 关系型和非关系型数据库的区别(各自优点)(2) 常用SQL语句(DDL,DML,DCL,TCL)(3) 数据库中join的类型与区别(inner join, outer join, cross join, natural join, self join),注意适用场景和sql语句的编写(4) 数据库的索引类型(5) 聚集索引和非聚集索引的区别(叶节点存储内容)
原创
74阅读
0评论
0点赞
发布博客于 6 月前

leetcode491. 递增子序列/dfs

文章目录题目:491. 递增子序列基本思想:dfs题目:491. 递增子序列给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一
原创
45阅读
0评论
0点赞
发布博客于 6 月前

leetcode459. 重复的子字符串

文章目录题目:459. 重复的子字符串基本思想:做除法题目:459. 重复的子字符串给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串
原创
70阅读
0评论
0点赞
发布博客于 6 月前

0824字节后端面试

C++智能指针答案:点击链接move()函数深拷贝浅拷贝左值和右值的区别C++线程,线程框架pthread,线程同步,线程安全TIME_WAIT和CLOSE_WAIT状态区别,这两个状态哪一个会泄漏避免死锁的算法编程题:删除单链表中的一个节点,要求时间复杂度为O(1)。参考:点击链接基本思想:将当前节点的后一个节点的值替换当前节点的值,将当前节点的下一个节点指向后一个节点的后一个节点。注意:当删除节点是最后一个节点的情况,需要遍历链表,然后找到最后一个节点的前驱。struct Li.
原创
41阅读
0评论
0点赞
发布博客于 6 月前

C++读取连续数据,以回车结束

参考:点击链接#include<bits/stdc++.h>using namespace std;int main(){ int a; vector<int> nums; while(cin >> a){ nums.push_back(a); char c = cin.get(); if(c == '
') break; } return 0;}
转载
104阅读
0评论
0点赞
发布博客于 6 月前

leetcode面试题 17.24. 最大子矩阵/动态规划

文章目录题目:面试题 17.24. 最大子矩阵基本思想:动态规划题目:面试题 17.24. 最大子矩阵给定一个正整数和负整数组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。注意:本题相对书上原题稍作改动示例:输入:[ [-1,0], [0,-1]]输出: [0,1,0,1]解释:
原创
120阅读
0评论
0点赞
发布博客于 6 月前

leetcode201. 数字范围按位与

文章目录题目:201. 数字范围按位与基本思想:边界的最长公共前缀题目:201. 数字范围按位与给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bitwise-and-of-numbers-range
原创
54阅读
0评论
0点赞
发布博客于 6 月前

leetcode529. 扫雷游戏/dfs, bfs

文章目录题目:529. 扫雷游戏基本思想:dfs题目:529. 扫雷游戏让我们一起来玩扫雷游戏!给定一个代表游戏板的二维字符矩阵。 ‘M’ 代表一个未挖出的地雷,‘E’ 代表一个未挖出的空方块,‘B’ 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字(‘1’ 到 ‘8’)表示有多少地雷与这块已挖出的方块相邻,‘X’ 则表示一个已挖出的地雷。现在给出在所有未挖出的方块中(‘M’或者’E’)的下一个点击位置(行和列索引),根据以下规则,返回相应位置被点击后对应的面板:如果一
原创
43阅读
0评论
0点赞
发布博客于 6 月前

自动化学报latex模板下载

链接:http://www.aas.net.cn/news/lunwenmoban.htm
原创
680阅读
1评论
1点赞
发布博客于 6 月前

leetcode109. 有序链表转换二叉搜索树/先序遍历递归构建

文章目录题目:109. 有序链表转换二叉搜索树基本思想:先序遍历递归构建题目:109. 有序链表转换二叉搜索树给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9
原创
34阅读
0评论
0点赞
发布博客于 6 月前

leetcode733. 图像渲染/dfs,bfs

文章目录题目:733. 图像渲染基本思想:dfs题目:733. 图像渲染有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过
原创
33阅读
0评论
0点赞
发布博客于 6 月前

leetcode546. 移除盒子/动态规划

文章目录题目:546. 移除盒子基本思想1:动态规划基本思想2:dfs(超时了)题目:546. 移除盒子给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色。你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >= 1),这样一轮之后你将得到 k*k 个积分。当你将所有盒子都去掉之后,求你能获得的最大积分和。示例:输入:boxes = [1,3,2,2,2,3,4,3,1]输出:23解释:[1, 3, 2,
原创
65阅读
0评论
0点赞
发布博客于 6 月前

leetcode43. 字符串相乘

文章目录题目:43. 字符串相乘基本思想:每一位相乘做加法基本思想:直接做乘法放到结果位置题目:43. 字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 只
原创
34阅读
0评论
0点赞
发布博客于 6 月前

leetcode130. 被围绕的区域/dfs,bfs

文章目录题目:130. 被围绕的区域基本思想:dfs题目:130. 被围绕的区域给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 'O' 都不会被填充为 'X'。 任何不在边界上,或不与
原创
42阅读
0评论
0点赞
发布博客于 6 月前

leetcode696. 计数二进制子串

文章目录题目:696. 计数二进制子串基本思想题目:696. 计数二进制子串给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: "00110011"输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数。另外,“00110011”不是有效的
原创
39阅读
0评论
0点赞
发布博客于 6 月前

leetcode93. 复原IP地址/dfs

文章目录题目:93. 复原IP地址基本思想:dfs题目:93. 复原IP地址给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/restore-ip-ad
原创
46阅读
0评论
0点赞
发布博客于 6 月前

leetcode99. 恢复二叉搜索树/中序遍历

文章目录题目:二叉搜索树中的两个节点被错误地交换。基本思想1:中序遍历题目:二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:输入: [1,3,null,null,2] 1 / 3 \ 2输出: [3,1,null,null,2] 3 / 1 \ 2示例 2:输入: [3,1,4,null,null,2] 3 / \1 4 / 2输出: [2,1,4,null,null,3]
原创
68阅读
0评论
0点赞
发布博客于 6 月前

leetcode336. 回文对

文章目录题目:336. 回文对基本思想:从构成回文串的两个字符串的特征出发题目:336. 回文对给定一组 互不相同 的单词, 找出所有不同 的索引对(i, j),使得列表中的两个单词, words[i] + words[j] ,可拼接成回文串。示例 1:输入:["abcd","dcba","lls","s","sssll"]输出:[[0,1],[1,0],[3,2],[2,4]] 解释:可拼接成的回文串为 ["dcbaabcd","abcddcba","slls","llssssll"]示例
原创
42阅读
0评论
0点赞
发布博客于 7 月前

leetcode337. 打家劫舍 III/dfs

文章目录题目:337. 打家劫舍 III基本思想:dfs题目:337. 打家劫舍 III在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1:输入: [3,2,3,null,3,null
原创
49阅读
0评论
0点赞
发布博客于 7 月前

leetcode415. 字符串相加

文章目录题目:415. 字符串相加基本思想:模拟加法题目:415. 字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-stri
原创
35阅读
0评论
0点赞
发布博客于 7 月前

leetcode632. 最小区间/堆

文章目录题目:632. 最小区间基本思想1:最小堆题目:632. 最小区间你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释: 列表 1:[4, 10, 15, 24, 26],24
原创
76阅读
0评论
0点赞
发布博客于 7 月前

leetcode面试题 08.03. 魔术索引

文章目录题目:面试题 08.03. 魔术索引基本思想:一次遍历基本思想2:跳跃遍历(注意到这个题给的数组是有序的)题目:面试题 08.03. 魔术索引魔术索引。 在数组A[0…n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。示例1:输入:nums = [0, 2, 3, 4, 5]输出:0说明: 0下标的元素为0示例2: 输入:nums
原创
54阅读
0评论
0点赞
发布博客于 7 月前

leetcode343. 整数拆分/动态规划

文章目录题目:343. 整数拆分基本思想1:动态规划题目:343. 整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。来源:力扣(LeetCode)链接:https://leetcod
原创
127阅读
0评论
0点赞
发布博客于 7 月前

leetcode392. 判断子序列/动态规划,双指针

文章目录题目:392. 判断子序列基本思想1:动态规划双指针题目:392. 判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s = "abc", t = "
原创
70阅读
0评论
0点赞
发布博客于 7 月前

leetcode329. 矩阵中的最长递增路径/记忆化dfs,拓扑排序bfs

文章目录题目:329. 矩阵中的最长递增路径基本思想1:记忆化dfs基本思想2:bfs(借助拓扑排序来实现)题目:329. 矩阵中的最长递增路径给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]。示例 2:输入: nums
原创
61阅读
0评论
0点赞
发布博客于 7 月前

leetocde410. 分割数组的最大值/动态规划,二分+贪心

文章目录题目:410. 分割数组的最大值基本思想1:动态规划基本思想2:二分+贪心题目:410. 分割数组的最大值给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意:数组长度 n 满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式
原创
69阅读
0评论
0点赞
发布博客于 7 月前

leetcode1025. 除数博弈

文章目录题目:leetcode1025. 除数博弈基本思想1:动态规划基本思想2:猜想+分析题目:leetcode1025. 除数博弈爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩
原创
40阅读
0评论
0点赞
发布博客于 7 月前