自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 解单词拆分问题

问题描述:题目:Leetcode第139题难度:中等给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。示例 2:输入: s

2022-02-27 21:26:05 7681

原创 2022年最新MySQL安装教程

Mysql官方提供社区版本和商业版本这里以mysql 社区版本8.0.26 为例。

2022-11-12 22:12:40 730 4

原创 Golang 类型断言

在Go语言的interface中可以是任何类型,所以Go给出了类型断言来判断某一时刻接口中所含有的类型,例如现在给出一个接口,名为InterfaceText:上式是接口断言的一般形式,因为此方法不一定每次都可以完好运行,所以err的作用就是判断是否出错。所以一般接口断言常用以下写法:如果转换合法,则v为InterfaceText转换为类型T的值,err为ture,反之err为false。值得注意的是:InterfaceText必须是接口类型!!!有些时候若是想仅判断是否含有类型T,可以写为:下面

2022-06-21 18:03:44 7063

原创 DP解最长公共子序列ヽ(✿゚▽゚)ノ

一道经典的动态规划题,比较适合动态规划入门选手,

2022-05-10 15:19:55 186

原创 动态规划解Leetcode最长递增子序列问题,通俗易懂

简单的写一下Leetcode第300题的解答作为个人的小结,个人认为还是非常的通俗易懂的。

2022-05-09 17:25:02 385

原创 Σ(っ °Д °;)っ 求最大公约数和最小公倍数如此简单

【什么是最大公约数和最小公倍数??】1,最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。比方说:6 和 4 的最大公约数即 2 :6 = 2*3 4= 2*2.2,两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。例如:同样是 6 和 4 则 两者的最小公倍数 为24二者有什么联系吗?Of course ,两个数的乘积等于两数的最大公约数与最小公倍数的乘积。【求最大公约数】求最大公约..

2022-04-09 11:22:12 443

原创 两个超大数相加

解大数相加,思路简单,写法多样

2022-04-04 11:45:23 439

原创 Manacher(马拉车)算法

由解最长回文子序列 了解Manacher(马拉车)算法

2022-04-03 11:50:55 1205

原创 Hanoi(汉诺塔)问题

【问题 A】小A和小B在玩个游戏,规定谁输了就要请谁吃顿大餐:小A给小B a b c三个柱子, 并在a柱上放置了数量为n的圆盘,圆盘的大小从上到下依次增大,现在要做的事就是把a柱的圆盘全部移到c柱,移动的过程中保持小盘在上,大盘在下,且限定圆盘只能够移动到相邻的柱子,即a柱子上的圆盘只能够移动到b,b柱子上的圆盘只能够移动到a或者c,c同理。现在请你设计一个程序,计算所需移动的最小步数, 帮助小B赢得大餐!0<=n<26今天碰到这道题,一时把我给难住了。但感觉有很熟悉,所以经过

2022-03-30 02:45:00 345

原创 const 限定符与指针

在编程中,变量是非常好用的。可以很容易改变其值的大小。但有时也会造成麻烦,比如程序员不小心改变了某一变量的值,所以为了使某一个变量的值一旦定义便无法改变。c++中引入了const 这一限定符。const int a = 10; 比如在定义了上面的 a后 ,所有对a 的赋值操作都是无效的。但要正因为注意的是const 对象一旦创建,便无法更改。所以const 对象 一定要初始化。const int a = 23; //正确const int b; //错误const 初始化与非

2022-03-15 15:03:55 1804

原创 恢复二叉搜索树问题

问题描述:来源:LeetCode第99题难度:中等给你二叉搜索树的根节点root,该树中的两个节点的值被错误地交换。请在不改变其 结构的情况下,恢复这棵树。提示:树上节点的数目在范围[2, 1000]内 -231<= Node.val <= 231- 1递归解法:解这道题我们首先要知道,什么叫二叉搜索树,二叉搜索树指:若它的左子树不空,则左子树上所有结点的值均小于 它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的 值;它的...

2022-03-06 03:30:00 218

原创 双指针,递归解两数相加

问题描述:来源:LeetCode第2题难度:中等给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储 的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示 和的链表。 你可以假设除了数字0之外,这两个数都不会以0开头。双指针解决:两个链表分别代表两个数字,链表的头节点表示的是个位数,如果从链表的头节点开始 相加,符合我们常见的加法运算。我们需要两个指针,分别指向两个数每一个节点,且对应的位数相同。两个指针的数相加后后移。然后我们还

2022-03-03 20:27:13 727

原创 BFS和DFS解二叉树的层序遍历 II

BFS解法:一层一层的遍历:这道题我们仍然可以从上往下遍历,只不过遍历每一层的时候我们都把结果插入到列表的最前面,这样就达到了从下往上遍历的效果。代码:class Solution {public: vector<vector<int>> levelOrderBottom(TreeNode* root) { vector<vector<int>> ve; //边界条件 ...

2022-03-01 22:27:11 316

原创 BFS解Leetcode题:奇偶树

问题描述:题目:Leetcode第1609题难度:中等如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 :二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推。偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增奇数下标 层上的所有节点的值都是 偶 整数,从左到右按顺序 严格递减给你二叉树的根节点,如果二叉树为 奇偶树 ,则返回 true ,否则返回 false 。示例 1:输入:root = [1,.

2022-02-23 21:48:42 123

原创 树:BFS,DFS解Leetcode电话号码的字母组合问题

问题描述:题目:Leetcode 第17题难度:中等给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"..

2022-02-22 23:27:00 421

原创 每日一题:贪心算法解分发糖果问题

一,问题描述:题目:Leetcode 第135题难度:困难n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。示例1:输入:ratings = [1,0,2]输出:5解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。示例2:输入:rat

2022-02-21 16:49:50 2245

原创 每日一题:贪心算法解按要求补齐数组

一,问题描述给定一个已排序的正整数数组nums,和一个正整数n。从[1, n]区间内选取任意个数字 补 充 到 nums 中 , 使 得 [1,n] 区 间 内 的 任 何 数 字 都 可 以 用 nums 中 某 几 个 数 字 的 和 来 表 示。请输出满足上述要求的最少需要补充的数字个数。实例1:输入: n u m s=[ 1 , 3 ] , n=6输出: 1解释: 根据n u m s里现有的组合[ 1 ] , [ 3 ] , [ 1 , 3 ],可以得出1 , 3 , 4。

2022-02-20 19:03:18 604

原创 常见排序算法(一):冒泡,插入,选择,快速排序

一,冒泡排序首先最常见的排序算法估计就是冒泡排序了。原理也非常的简单,看下面的代码:class solution{public: void bubblesort(vector<int>& array) { int len = array.size(); for (int i = 0;i < len-1;i++) { for (int j = 0;j < len - 1 - i;j++) { if (array[j] >

2022-02-20 16:56:04 543

原创 每日一题:贪心算法解救生艇问题

问题描述:来源:LeetCode第881题难度:中等给定数组people。people[i]表示第 i个人的体重,船的数量不限,每艘船可以承载的最大重量为limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为limit。返回 承载所有人所需的最小船数。示例1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例2:输入:people = [3,2,2,1], limit = 3输出:3...

2022-02-19 16:09:43 916

原创 每日一题:贪心算法解优势洗牌-田忌赛马问题

问题描述:来源:Leetcode第870题难度:中等给定两个大小相等的数组A和B,A相对于B的优势可以用满足A[i]>B[i]的索引i的数目 来描述。返回A的任意排列,使其相对于B的优势最大化。实例1:输入:A = [2,7,11,15], B = [1,10,4,11]输出:[2,11,7,15]实例2:输入:A = [12,24,8,32], B = [13,25,32,11]输出:[24,32,8,12]提示:1 <= A.length

2022-02-18 18:37:14 714

原创 每日一题:动态规划解不同的子序列

问题描述:给定一个字符串s 和一个字符串 t,计算在s的子序列中 t 出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置 所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)。题目数据保证答案符合32位带符号整数范围。0<=s . length, t. length<=1000, s和t由英文字母组成。动态规划解决:题目中说“计算在s的子序列中 t 出现的个数。”,翻译就是“在所有s ..

2022-02-17 17:25:55 472

原创 动态规划:区间d p小结

一,区间dp顾名思义,区间dp即为在区间上求解最优值的问题。其主要的思想就是先对于小区间进行求解,然后再利用小区间的最优解合并求得最大区间的最优解。话不多说,直接上例题:典例:(一道非常经典的区间dp的题目):石子合并题意:有n堆石子排成一排,每堆石子有一定的数量。现在要将n对石子合并成为一堆。合并的过程中每次只能对相邻的两堆石子合并,每次合并要花费的代价为两堆狮子数量的和,经过n-1次合并后成为一堆,求解出总的代价的最小值。举例:[4,1,1,4]->[4,2,4]->

2022-01-30 19:27:14 304

原创 01背包(动态规划)小结

一,问题【问题】一个容量为m公斤的背包。现有n种物品,每种物品只有一件,它们的重量分别为w[ i ](1<=i<=n),它们的价值分别为c[ i ](1<=i<=n)。求能放入背包的最大价值。【输入】第一行:两个整数,n(物品数量,n<51)和m(背包容量,m<201)。第2,3,,,n+1行:每行两个整数w[i],c[i],表示每个物品的重量和价值。【输出】一个数,表示最大价值。【样例输入】3 63 52 34 6【样

2022-01-19 16:34:32 409

原创 完全背包问题(动态规划)小结

一,问题【问题】一个容量为m公斤的背包。现有n种物品,每种物品有无限多件,它们的重量分别为W[i](1<=i<=n),它们的价值分别为C[i](1<=i<=n)。求能放入背包的最大价值。【输入】第一行:两个整数,n(物品数量,n<51)和m(背包容量,m<201)。第2,3.......n+1行:每行两个整数W[i],C[i],表示每个物品的重量和价值。【输出】一个数,表示最大价值。【样例输入】3 62 34 73..

2022-01-18 19:03:29 378

原创 c++:vector容器的简单小结

目录vector1,基本概念2,vector构造函数,赋值操作以及容量大小2,vector 插入删除,数据存取,互换容器以及预留空间vector1,基本概念图示2,vector构造函数,赋值操作以及容量大小1,构造函数2,赋值操作3,容量和大小2,vector 插入删除,数据存取,互换容器以及预留空间1插入和删除2数据存取3互换容器4预留空间欢迎补充!...

2022-01-09 18:26:52 709 1

原创 C++:string简单小结

目录一,string1,简介2,string的构造,赋值,字符串拼接以及查找和替换3,string的字符串比较,存取,插入和删除以及子串一,string1,简介2,string的构造,赋值,字符串拼接以及查找和替换12343,string的字符串比较,存取,插入和删除以及子串1234...

2022-01-09 17:54:45 432 1

原创 初学--c语言快速排序

前言本文主要讲c语言的快速排序一、算法思想假设现在我们要对“6,4,5,7,9,1,3,2,10,8”这10个数进行由大到小排序。为了方便,我们取第一个数为基准数即6。基准数,顾名思义我们以此数为基准,比6小的数放到6的右边,比6大的数放到6的左边。如下:4,5,1,3,2,6,7,9,10,8初始状态下,6在序列的第一位。为了达到我们的目的,我们需要分别从初始序列的两端开始“探测”。假设我们的基准数为左边第一位数,首先,从左往右依次找一个大于6的数,然后停下来;然后,从右往左找..

2021-12-18 10:45:08 1538 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除