自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IDEA 常用快捷键

IDEA 常用快捷键万能键:ALT+ENTER运行当前文件:CTRL+SHIFT+F10运行上次:SHIFT+F10以DEBUG模式运行上次:SHIFT+F9选择运行:ALT+SHIFT+F10选择以DEBUG模式运行:ALT+SHIFT+F9搜索全部:双击SHITF运行全部:双击CTRL搜索:CTRL+F替换:CTRL+R在文件中查找:CTRL+SHIFT+F在文件中搜索并替换:CTRL+SHIFT+R重命名:SHIFT+F6

2022-04-26 17:17:37 2446

原创 C语言的printf与scanf

C语言的printf与scanf1、scanfscanf("%d",&a);scanf的输入格式为(”格式化符号“,&变量)。(一定不能忘记加==&==符号);连续输入多个字符的时候,每两个格式化符号之间的间隔符要注意。scanf("%d %d %d", &a, &b, &c);每输入一个整数后必须输入一个分隔符,分隔符可以是空格、tab、回车scanf("%d,%d,%d", &a, &b, &c);每输入一个整数后必须

2022-04-08 11:21:36 1860

原创 算法:模幂运算【快速幂】与力扣372.超级次方

力扣:372.超级次方【模幂运算】【快速幂】1、 题目你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。示例 1:输入:a = 2, b = [3]输出:8示例 2:输入:a = 2, b = [1,0]输出:1024示例 3:输入:a = 1, b = [4,3,3,8,5,2]输出:1示例 4:输入:a = 2147483647, b = [2,0,0]输出:1198提示:1 <= a <= 231 -

2022-04-07 19:55:19 321

原创 力扣:300.最长上升子序列(LIS)

力扣:300.最长上升子序列(LIS)1、 题目给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例

2022-04-07 16:55:19 238

原创 力扣:1143.最长公共子序列(LCS)

力扣:1143.最长公共子序列(LCS)1、题目(longest-common-subsequence, LCS)给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子

2022-04-07 16:21:01 373

原创 力扣:743.网络延迟时间(dijkstra最短路径算法)

力扣:743.网络延迟时间(dijkstra最短路径算法)1、 问题描述有 n 个网络节点,标记为 1 到 n。给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1 。示例 1:输入:times = [[2,1,1],[2,3,1],[3,4

2022-04-07 15:45:29 309

原创 MySql 常见语法

MySql 常见语法一、数据库操作二、表操作1、增添加字段ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名;为表的所有字段插入数据INSERT INTO 表名 (字段名) VALUES (内容);为表同时插入多条记录 INSERT INTO 表名 (字段名) VALUES (内容1), (内容2), (内容3); 2、删删除字段ALTER TABLE 表名 DROP 字段名;删除表的外键约束ALTER TAB

2022-04-03 21:34:54 95

原创 力扣:1584.连接所有点的最小费用【kruskal/prim】【结构体和stl速度】

力扣:1584.连接所有点的最小费用【kruskal/prim】【结构体和stl速度】1、 问题描述给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例 1:输入:p

2022-04-01 14:48:08 170

原创 力扣:1584.连接所有点的最小费用【kruskal】【结构体和stl速度】

力扣:1584.连接所有点的最小费用【kruskal】【结构体和stl速度】1、 问题描述给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例 1:输入:points

2022-04-01 12:34:41 1082

原创 力扣:990.等式方程的可满足性【并查集算法解析】

力扣:990.等式方程的可满足性【并查集】1、题目描述给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:"a==b" 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。示例 1:输入:[“a==b”,“b!=a”]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满

2022-04-01 10:28:57 226

原创 力扣:185.判断二分图——二分图

力扣:185.判断二分图——二分图1.题目描述存在一个 无向图 ,图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph ,其中 graph[u] 是一个节点数组,由节点 u 的邻接节点组成。形式上,对于 graph[u] 中的每个 v ,都存在一条位于节点 u 和节点 v 之间的无向边。该无向图同时具有以下属性:不存在自环(graph[u] 不包含 u)。不存在平行边(graph[u] 不包含重复值)。如果 v 在 graph[u] 内,那

2022-03-31 16:54:26 249

原创 力扣:207.课程表——拓扑排序算法

力扣:207.课程表——拓扑排序算法1. 题目描述你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;

2022-03-31 14:17:47 1115

原创 算法:二分查找(4种模板)

算法:二分查找(4种模板)1.基本的二分查找(一)条件:[ left,right ] 左闭右闭int binarySearch1(vector<int> nums,int target){ int left = 0; int right = nums.size() - 1;//这个right是可以取到的 while(left <= right){//当left==right,区间[left, right]依然有效,所以用 <= in

2022-03-25 23:45:00 2347 1

原创 力扣:1005.K 次取反后最大化的数组和

力扣:1005.K 次取反后最大化的数组和1、题目介绍给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好k 次。可以多次选择同一个下标i 。以这种方式修改数组后,返回数组 可能的最大和 。示例 1:输入:nums = [4,2,3], k = 1输出:5解释:选择下标 1 ,nums 变为 [4,-2,3] 。示例 2:输入:nums = [3,-1,0,2], k = 3输出

2022-03-23 01:00:00 192

原创 力扣:134.加油站

力扣:134.加油站1、题目描述在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。示例 1:输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]

2022-03-22 18:18:12 220

原创 数据结构:C++ STL queue

数据结构:C++ STL queuequeue:先进先出队列,只能在容器的末尾添加新元素,只能从头部移除元素。1. 函数列表函数名作用empty()该函数用于测试队列是否为空。如果队列为空,则该函数返回true,否则返回false。size()该函数返回队列中元素的个数。front()该函数返回第一个元素。元素起着非常重要的作用,因为所有的删除操作都是在front元素上执行的。back()该函数返回最后一个元素。该元素起着非常重要的作用,因为所有插入操作都

2022-03-20 20:07:41 127

原创 力扣:96.不同的二叉搜索树

力扣:96.不同的二叉搜索树1、题目给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例 1:输入:n = 3输出:5示例 2:输入:n = 1输出:1链接:https://leetcode-cn.com/problems/unique-binary-search-trees2、思路分析首先本题采用动态规划解题方法,创建dp数组大小为n+1。dp[i]的定义为有i个节点的二叉搜索树的种数。

2022-03-17 16:38:44 969

原创 力扣:51. N皇后

力扣:51. N皇后n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-queens1、思路暴力求解,回溯剪枝。穷举每一种情况,从第1行到第n行,每一行选择一列往下穷举,

2022-03-15 15:28:06 936

原创 力扣:131.分割回文串

力扣:131.分割回文串1、题目描述给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = “aab”输出:[[“a”,“a”,“b”],[“aa”,“b”]]示例 2:输入:s = “a”输出:[[“a”]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-partitioning2、思路首先

2022-03-13 09:27:58 7470

原创 数据结构:C++ STL 哈希表(unordered_map)

数据结构:C++ STL 哈希表(unordered_map)unordered_map 容器,直译过来就是"无序 map 容器"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 map 容器仅有一点不同,即 map 容器中存储的数据是有序的,而 unordered_map 容器中是无序的。1.哈希表创建unordered_map头文件;unordered_map<T,T> m

2022-03-12 23:16:27 7580

原创 数据结构:C++ STL Vector

数据结构:C++ STL Vectorvector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector头文件#include<vector>注意,vector的元素可以是任何类型,包括结构体,结构体需要定义为全局结构体。1.构造函数vector():创建一个空vectorvector(int nSize):创建一个vector,元素个数为nSizevector(int nSize,const t& t):创建一个vector,元素个数为nSize,且

2022-03-11 21:24:22 127

原创 数据结构:C++STL deque 容器

数据结构:C++STL deque 容器deque 是 double-ended queue 的缩写,又称双端队列容器。1、初始化#include<deque>//deque头文件//创建一个空dequedeque<int> deq;//创建一个大小为10的dequedeque<int> deq(10);//创建一个大小为10,初值为1的dequedeque<int> deq(10,1);//在已有 deque 容器的情况下,通过拷

2022-03-11 12:57:26 1334

原创 力扣:347.前k个高频元素

力扣:347.前k个高频元素给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]链接:https://leetcode-cn.com/problems/top-k-frequent-elements思路:首先用map储存每个元素出现的次数,然后使用优先队列(小顶堆,值小

2022-03-10 22:43:50 789

原创 力扣:239.滑动窗口最大值

力扣:239.滑动窗口最大值题目链接给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5

2022-03-09 18:34:53 139

原创 力扣:150.逆波兰表达式求值

力扣:150.逆波兰表达式求值逆波兰表达式:逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 ) 。该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * ) 。逆波兰表达式主要有以下两个优点:去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。适合用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中思路:遍历to

2022-03-09 16:33:10 322

原创 力扣:1047.删除字符串中的所有相邻重复项

力扣:1047.删除字符串中的所有相邻重复项思路:这一题与力扣20.有效的括号原理一样。首先将字符串一个个入栈,如果遇到的字符串与栈顶的字符串一样,则弹栈,否则入栈,遍历完即可。代码中注释的部分不知道为啥,通过不了力扣,超时,一个是栈顶元素+res一个是res+栈顶元素 然后反转。代码如下(c++):class Solution {public: string removeDuplicates(string s) { stack<char> stk;

2022-03-08 20:41:51 156

原创 力扣:20.有效的括号

力扣:20.有效的括号思路:利用栈容器储存括号字符,遍历字符串,如果首先入栈的为右括号则直接return false,否则将其入栈,若在遍历过程中遇到的为右括号且与栈顶的符号匹配,则弹出栈顶元素。(栈内均为左括号),若遇到的右括号与栈顶的左括号不匹配则return false;遍历完后,判断栈的大小,若不为0,则有多余的括号,若为0则return true;代码如下class Solution {public: bool isValid(string s) { stack&l

2022-03-08 20:22:17 141

原创 力扣:剑指Offer58-II.左旋转字符串

力扣:剑指Offer58-II.左旋转字符串链接https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/思路1:一次往左移动一位,循环n次,代码如下:class Solution {public: string reverseLeftWords(string s, int n) { for(int i =0;i<n;i++){ int temp = s[0];

2022-03-07 17:24:54 447

原创 力扣:151.翻转字符串里的单词

力扣:151.翻转字符串里的单词链接https://leetcode-cn.com/problems/reverse-words-in-a-string/思路:将源字符串多余空格去掉,根据空格切割单词,用栈储存单词,出栈拼接单词即完成反转。代码如下:class Solution {public: string reverseWords(string s) { stack<string> stk;//定义栈 int m = s.size();

2022-03-07 16:58:56 152

原创 Mybatis笔记

Mybatis文章目录Mybatis1、相关jar包2、配置文件 mybatis-config.xml2.1、 mappers 引入资源方式2.2、 environments元素2.3 typeAliases别名3、工具类4、 ResultMap映射5、 日志工厂log4j6、 crud传参方式(直接传参和map传参)7、 分页8、 注解CRUD**8.1、 查询:****8.2、 新增:****8.3、 修改:****8.4、 删除:**8.5、 @Param理解8.6、 #和$符

2022-01-22 21:47:46 148

原创 MarkDown 使用说明

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-01-22 21:27:49 79

空空如也

空空如也

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

TA关注的人

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