![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 54
伯纳乌纯白
Gopher/K8s/微服务/DevOps
成长中的云基础架构师
展开
-
【LeetCode979】在二叉树中分配硬币
【LeetCode979】在二叉树中分配硬币题目给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有 N 枚硬币。在一次移动中,我们可以选择两个相邻的结点,然后将一枚硬币从其中一个结点移动到另一个结点。(移动可以是从父结点到子结点,或者从子结点移动到父结点。)。返回使每个结点上只有一枚硬币所需的移动次数。示例 1:输入:[3,0,0]输出:2解释:从树的根结点开始,我们将一枚硬币移到它的左子结点上,一枚硬币移到它的右子结点上。示原创 2022-05-08 13:29:15 · 106 阅读 · 0 评论 -
[leetcode812]最大三角形面积
[leetcode812]最大三角形面积题目给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释:这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 <= points.length <= 50.不存在重复的点。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/large原创 2022-05-08 11:12:25 · 125 阅读 · 0 评论 -
[NOIP2004]合并果子
[NOIP2004]合并果子题目链接:https://ac.nowcoder.com/acm/contest/22904/1001来源:牛客网题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在原创 2022-05-07 16:56:47 · 101 阅读 · 0 评论 -
牛客练习赛-树(染色dp)
牛客练习赛-树(染色dp)(以后刷题还是多总结,排版就丑一点了)题目描述链接:https://ac.nowcoder.com/acm/contest/2/B来源:牛客网shy有一颗树,树有n个结点。有k种不同颜色的染料给树染色。一个染色方案是合法的,当且仅当对于所有相同颜色的点对(x,y),x到y的路径上的所有点的颜色都要与x和y相同。请统计方案数。输入描述:第一行两个整数n,k代表点数和颜色数;接下来n-1行,每行两个整数x,y表示x与y之间存在一条边;输出描述:输出一个整数表示方案数原创 2022-05-07 16:35:48 · 231 阅读 · 0 评论 -
【AcWing】327.种玉米(状态压缩+DP)
【AcWing】327.种玉米(状态压缩+DP)描述农夫约翰的土地由 M×N个小方格组成,现在他要在土地里种植玉米。非常遗憾,部分土地是不育的,无法种植。而且,相邻的土地不能同时种植玉米,也就是说种植玉米的所有方格之间都不会有公共边缘。现在给定土地的大小,请你求出共有多少种种植方法。土地上什么都不种也算一种方法。输入格式第 1行包含两个整数 M 和 N。第 2…M+1行:每行包含 N 个整数 0 或 1,用来描述整个土地的状况,1 表示该块土地肥沃,0表示该块土地不育。输出格式原创 2022-02-26 15:52:54 · 187 阅读 · 0 评论 -
【字节跳动笔试题】最大连续的相同字符的子串的长度
【字节跳动笔试题】最大连续的相同字符的子串的长度原题OJ描述有一个仅包含’a’和’b’两种字符的字符串s,长度为n,每次操作可以把一个字符做一次转换(把一个’a’设置为’b’,或者把一个’b’置成’a’);但是操作的次数有上限m,问在有限的操作数范围内,能够得到最大连续的相同字符的子串的长度是多少。输入描述:第一行两个整数 n , m (1<=m<=n<=50000),第二行为长度为n且只包含’a’和’b’的字符串s。输出描述:输出在操作次数不超过 m 的情况下,能够得到的原创 2022-02-24 00:09:05 · 337 阅读 · 0 评论 -
【金山面试题】三次字符
【金山面试题】三次字符描述给定一个英文字符串(包括空格和换行),请找出该字符串中首次出现三次的英文字母(字符需区分大小写) 。如果不存在则输出-1;输入描述:输入一个字符串,可包含数字、字母,长度不超过106 个字符输出描述:输出第一个出现三次的英文字母,不存在则输出“-1”输入例子1:i love Kingsoft Office输出例子1:f输入例子2:I love KingsoFt Office输出例子2:-1思路这个题一看就知道是用的hash,但就是死活通不过。后来注原创 2022-02-22 00:25:50 · 878 阅读 · 0 评论 -
【LeetCode306】累加数
【LeetCode306】累加数leetcode306.累加数题目描述累加数 是一个字符串,组成它的数字可以形成累加序列。一个有效的 累加序列 必须 至少 包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给你一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是 累加数 。如果是,返回 true ;否则,返回 false 。说明:累加序列里的数 不会 以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。示例 1:原创 2022-01-11 16:43:38 · 274 阅读 · 0 评论 -
【LeetCode42】接雨水
【LeetCode42】接雨水leetcode42.接雨水题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9解题思路这是一道h原创 2021-12-31 17:44:59 · 88 阅读 · 0 评论 -
【LeetCode22】括号生成
LeetCode22-括号生成原创 2021-12-28 21:13:33 · 274 阅读 · 0 评论 -
【LeetCode】109. 有序链表转换二叉搜索树
【LeetCode】109. 有序链表转换二叉搜索树文章目录【LeetCode】109. 有序链表转换二叉搜索树题目描述解题思路代码总结题目描述给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。解题思路很多人一来看到平衡二叉树的要求,第一反应应该还是使用旋转的思路。但二叉树类题其实在解决时一般依靠递归解。此题类似于二叉堆的排序,由于元素是线性有序的,因此只要确定中间节点再递归建树即原创 2020-10-08 19:23:20 · 114 阅读 · 0 评论 -
【剑指Offer】重建二叉树
reConstructBinaryTree# 【剑指Offer】重建二叉树文章目录题目描述解题思路代码总结题目描述用给定的数组pre[]和in[]来分别表示二叉树的先序遍历序列和后序遍历序列,要求对二叉树进行还原并输出。此外,二叉树的定义也已经给出(不同的语言采取的定义不同,此处以Java为例)public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { v原创 2020-10-02 20:44:20 · 162 阅读 · 0 评论 -
【LeetCode】22.括号生成
【LeetCode】22.括号生成文章目录【LeetCode】22.括号生成题目描述题解代码总结题目描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]题解熟悉分治算法的都知道,此题...原创 2020-03-06 15:39:25 · 132 阅读 · 0 评论 -
【LeetCode】257.二叉树的所有路径
【LeetCode】257.二叉树的所有路径文章目录【LeetCode】257.二叉树的所有路径题目描述解题思路代码总结题目描述给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: ...原创 2020-03-06 15:01:34 · 139 阅读 · 0 评论 -
【PTA】6-9二叉树的遍历
【PTA】6-9二叉树的遍历文章目录【PTA】6-9二叉树的遍历题目描述解题思路代码总结题目描述要求分别实现二叉树的四种遍历即前中后以及层序遍历接口定义如下void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );vo...原创 2020-03-04 21:35:35 · 405 阅读 · 0 评论 -
【PTA】数据结构6.1单链表逆转
【PTA】数据结构6.1单链表逆转文章目录【PTA】数据结构6.1单链表逆转题目描述题解代码总结题目描述本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数...原创 2020-03-04 21:01:03 · 550 阅读 · 0 评论 -
【LeetCode】994.腐烂的橘子
【LeetCode】994.腐烂的橘子文章目录【LeetCode】994.腐烂的橘子题目描述解题思路代码总结题目描述在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。...原创 2020-03-04 20:34:42 · 153 阅读 · 0 评论 -
【LeetCode】200.岛屿数量
【LeetCode】200.岛屿数量文章目录【LeetCode】200.岛屿数量题目描述题解代码总结题目描述给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。例如:输入:11110110101100000000输出: 1题解如果接触过ACM的应该...原创 2020-02-27 11:51:42 · 190 阅读 · 0 评论 -
【LeetCode】96.不同的二叉搜索树
【LeetCode】96.不同的二叉搜索树文章目录【LeetCode】96.不同的二叉搜索树题目描述解题思路代码总结题目描述(简单说下)给出n,求1-n的所有数字可以组成的二叉搜索树的种类解题思路才看到这个题就想起了上离散数学时候的情景,直到期末考那一刻才明白:卧槽,同构树不就是有机化学中的同分异构体么!这题有两种解法:一:接触过ACM或者数论的应该对卡特兰数有了解。此题刚好是一...原创 2020-02-24 22:53:00 · 141 阅读 · 0 评论 -
【LeetCode】1338.数组大小减半
【LeetCode】1338.数组大小减半文章目录【LeetCode】1338.数组大小减半题目描述解题思路代码总结题目描述给你一个整数数组 arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。返回 至少 能删除数组中的一半整数的整数集合的最小大小。例如:输入:arr = [3,3,3,3,5,5,5,2,2,7]输出:2解释:选择 {3,7} 使得结果数组为 [...原创 2020-02-24 21:01:43 · 274 阅读 · 0 评论 -
【LeetCode 24】两两交换链表中的节点
【LeetCode 24】两两交换链表中的节点文章目录【LeetCode 24】两两交换链表中的节点题目描述思路代码总结题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。例如:给定 1->2->3->4, 你应该返回 2->1->4->3.思路才看到题,想到的是一种传统...原创 2020-02-24 20:24:17 · 119 阅读 · 0 评论 -
【LeetCode 701】二叉搜索树的插入操作
【LeetCode 701】二叉搜索树的插入操作文章目录【LeetCode 701】二叉搜索树的插入操作题目描述:题目分析题解代码总结题目描述:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。题目分析...原创 2020-02-19 17:27:11 · 154 阅读 · 0 评论 -
算法—动态规划(2)0-1背包问题回顾
算法—动态规划(2)0-1背包问题回顾0-1背包问题应该算是我本人第一个接触的dp问题,不过当时确实是没弄懂。今天重新回顾了一下,不禁又有了新的收获文章目录算法—动态规划(2)0-1背包问题回顾问题描述问题分析代码总结问题描述n个物品,重量和价值分别为wiw_iwi和viv_ivi,背包总的承重力为W,求能装入的最大价值。问题分析相比起一维dp,这里的问题变成了二维的:我要求的是价...原创 2019-11-26 20:58:57 · 212 阅读 · 0 评论 -
算法—动态规划学习笔记(1)入门
算法—动态规划学习笔记(1)入门说实在的,搞算法以来,动态规划给我的感觉就像是高中数学倒数第三和第二道压轴题——老师讲了n多遍,你也知道要考啥(圆锥曲线和导数),基本原理也都懂。但是一到考试,只要稍稍变形,就不会了(说的就是本蒟蒻了,高考数学123,两道压轴题基本是空白)。文章目录算法—动态规划学习笔记(1)入门动态规划到底是什么动态规划的求解步骤问题(1)Coin-row Problem回顾...原创 2019-11-26 19:19:41 · 310 阅读 · 0 评论 -
字符串—马拉车算法(求最长回文串)
字符串—马拉车算法(求最长回文串)作为一个字符串渣渣,对于我来说,看见此类问题总会忍不住虎躯一震。。。初次见到“求最长回文串”问题时,我脑子里无非蹦出两个想法:1.用栈的结构来存储,然后出栈看是否满足回文串的条件(回文串定义相信大家都知道,在此就不啰嗦了);2.看见最长,立马想到用动态规划的思想,写出状态转移方程,找出最优子结构。其实这两个思路合并起来是否可以解决问题——答案是肯定的。但这...原创 2019-11-24 20:25:30 · 229 阅读 · 0 评论