自定义博客皮肤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 767.重构字符串

leetcode 767.重构字符串题干给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。若可行,输出任意可行的结果。若不可行,返回空字符串。示例 1:输入: S = “aab”输出: “aba”示例 2:输入: S = “aaab”输出: “”注意:S 只包含小写字母并且长度在[1, 500]区间内。题解统计字母出现的次数,根据次数降序排列,然后按照先奇(index=0)后偶的顺序将字母放回Sclass Solution {public:

2020-11-30 20:36:56 51

原创 leetcode 493.翻转对

leetcode 493.翻转对题干给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。你需要返回给定数组中的重要翻转对的数量。示例 1:输入: [1,3,2,3,1]输出: 2示例 2:输入: [2,4,3,5,1]输出: 3注意:给定数组的长度不会超过50000。输入数组中的所有数字都在32位整数的表示范围内。题解用归并排序的思路非常清晰:1.对于两个已有序的数组来说,假设答案已经包

2020-11-28 17:53:27 118

原创 leetcode 454.四数相加

leetcode 454.四数相加题干给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。例如:输入:A = [ 1, 2]B = [-2,-

2020-11-27 17:45:40 202

原创 leetcode 164.最大间距

leetcode 164.最大间距题干给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。请尝试

2020-11-26 16:48:57 152

原创 笔记:常用JDBC API整理(持续更新)

JDBC API常用的接口、类与方法interface ConnectionA connection (session) with a specific database.Connection是与特定数据库的会话void close()//Releases this Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released

2020-11-25 23:22:39 138

原创 leetcode 1370.上升下降字符串

leetcode 1370.上升下降字符串题干给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从

2020-11-25 22:21:18 42

原创 leetcode 222.完全二叉树的节点个数

leetcode 222.完全二叉树的节点个数题干给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入:1/ 2 3/ \ /4 5 6输出: 6题解毕竟完全二叉树,很容易想到分层处理,于是用bfs写的代码出现了class Solution {pub

2020-11-24 21:25:37 54

原创 笔记:匪夷所思的mysql笔记(2020.12.16)

mysql笔记登录注意:mysql的所有指令语句以;结尾,在不输入;的情况下回车可以继续输入指令进入安装根目录下的binmysql -u root -p或用管理员登录mysqladmin -u root管理员默认密码为空,可如此设置密码mysqladmin -u root password "new_password";关闭服务shutdown;退出exit;用户创建mysql8.0以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建

2020-11-23 23:30:20 249

原创 leetcode 452.用最少数量的箭引爆气球

leetcode 452.用最少数量的箭引爆气球题干在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend,且满足  xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓

2020-11-23 19:24:23 121

原创 leetcode 242.有效的字母异位词

leetcode 242.有效的字母异位词题干给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?题解简单粗暴数组映射(哈希),最后遍历一遍26个字母,如

2020-11-22 15:30:34 68

原创 笔记:关于归并排序

关于归并排序//merge用于合并两个已经有序的数组merge(传入两个数组,全局变量保存排序后的数组){ 双指针遍历两个数组,合并使其有序}mergeSort(传入数组,左右界){ 如果左右界相等说明已经分到只有左右子数组都只有一个元素,直接return 取中点 对左界-中点,中点+1-右界进行递归 对当前左右界进行合并(因为左右子数组已经递归返回成有序状态)}...

2020-11-21 16:40:53 49

原创 leetcode 147.对链表进行插入排序

leetcode 147.对链表进行插入排序题干对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。题解插入排序的思想,

2020-11-20 16:07:09 42

原创 leetcode 283.移动零

leetcode 283.移动零题干给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解直接stl remove 0class Solution {public: void moveZeroes(vector<int>& nums) { int n = nums.

2020-11-19 21:42:29 49

原创 leetcode 134.加油站

leetcode 134.加油站题干在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入:gas = [1,2,3,4,5]cos

2020-11-18 20:54:31 38

原创 leetcode 1030.距离顺序排列矩阵单元格

leetcode 1030.距离顺序排列矩阵单元格题干给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为 (r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2) 之间的距离是曼哈顿距离,|r1 - r2| + |c1 - c2|。(你可以按任何满足此条

2020-11-17 22:19:40 90

原创 leetcode 406.根据身高重置队列

leetcode 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]]题解由题意可以想到从身高最矮的人入手(因为限制条件是比自己高或

2020-11-16 18:47:18 83

原创 leetcode 402.移掉K位数字

leetcode 402.移掉K位数字题干给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = “10200”, k = 1输出: “200”解释: 移掉首位的

2020-11-15 17:49:00 114

原创 leetcode 1122.数组的相对排序

leetcode 1122.数组的相对排序题干给你两个数组,arr1 和 arr2,arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19],

2020-11-14 16:00:14 74

原创 leetcode 328.奇偶链表

leetcode 328.奇偶链表题干给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULL示例 2:输入: 2->1->

2020-11-13 17:19:03 45

原创 leetcode 922.按奇偶排序数组II

leetcode 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 <= 20

2020-11-12 14:07:06 339 2

原创 leetcode 514.自由之路

leetcode 514.自由之路题干电子游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐,然后按下中心按钮,以此逐个拼写完 key 中的所

2020-11-11 23:38:24 99

原创 leetcode 973.最接近原点的K个点

leetcode 973.最接近原点的K个点题干我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。(这里,平面上两点之间的距离是欧几里德距离。)你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。示例 1:输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释:(1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和原点之间的距离为 sqrt(8),由于 sqrt(8)

2020-11-11 00:28:08 93

原创 leetcode 31.下一个排列

leetcode 31.下一个排列题干实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1题解很简单的遍历思路,但是坑很多* 基本思路:第一个指针从倒数第二个元素后往前遍历,第二个指针从倒数第一个元素到第一个指针后一

2020-11-10 22:35:29 81

原创 leetcode 122.买卖股票的最佳时机

leetcode 122.买卖股票的最佳时机题干给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 

2020-11-08 21:23:22 29

原创 leetcode 327.区间和的个数

leetcode 327.区间和的个数题干给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。说明:最直观的算法复杂度是 O(n2) ,请在此基础上优化你的算法。示例:输入: nums = [-2,5,-1], lower = -2, upper = 2,输出: 3解释: 3个区间分别是: [0,0], [2,2]

2020-11-08 15:39:48 139

原创 leetcode 57.插入区间

leetcode 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]], newInterval = [4,8]

2020-11-04 13:51:39 54

原创 leetcode 140.单词拆分II

leetcode 140.单词拆分II题干给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例:输入:s = “catsanddog”wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输出:[  “cats and dog”,  “ca

2020-11-01 19:56:27 149

空空如也

空空如也

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

TA关注的人

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