自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode:347. 前 K 个高频元素

347. 前 K 个高频元素给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) ,n是数组的大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是...

2020-08-09 20:52:05 799 4

原创 LeetCode 45. 跳跃游戏 II:

45. 跳跃游戏 II给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。链接:https://leetcode-cn.com/prob...

2020-08-29 23:00:34 75

原创 LeetCode 53. 最大子序和:

53. 最大子序和给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。链接:https://leetcode-cn.com/problems/maximum-subarray方法1 暴力法:思路:(略)时...

2020-08-28 01:00:54 85

原创 LeetCode 17. 电话号码的字母组合:

17. 电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。链接:https://leetcode-cn.com/problems/letter-combinations-o...

2020-08-27 02:26:09 153 1

原创 LeetCode 55. 跳跃游戏

LeetCode 55. 跳跃游戏

2020-08-24 00:26:13 79 2

原创 LeetCode 455. 分发饼干:

455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj。如果 sj >= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。一个小朋友最多只能拥有一块饼干。示例1:输入: [1,2,3], [1,1...

2020-08-23 20:26:00 75

原创 LeetCode 74. 搜索二维矩阵:

74. 搜索二维矩阵编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]target = 3输出: true示例2:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16,...

2020-08-22 23:50:10 152

原创 LeetCode:200. 岛屿数量

200. 岛屿数量给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[['1','1','1','1','0'],['1','1','0','1','0'],['1','1','0','0','0'],['0','0','0','0','0']]输出:1示例2:输入:[['1','1'...

2020-08-22 00:21:31 322 1

原创 LeetCode:860. 柠檬水找零

860. 柠檬水找零在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回true,否则返回 false。示例 1:输入:[5,5,5,10,20]输出:true解释:前 3 位顾客那里,我们按顺序收取...

2020-08-21 01:09:06 108

原创 LeetCode:122. 买卖股票的最佳时机 II

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

2020-08-20 01:16:28 200 1

原创 LeetCode 105. 从前序与中序遍历序列构造二叉树(难)

LeetCode 105. 从前序与中序遍历序列构造二叉树(难)

2020-08-16 20:27:28 336

原创 LeetCode:98. 验证二叉搜索树

98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,...

2020-08-15 21:24:41 331 1

原创 LeetCode 236. 二叉树的最近公共祖先(剑指 Offer 68 - II)

剑指 Offer 68 - II. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]链接:https://leetcode-cn.com/problems/er-cha-shu...

2020-08-14 00:48:35 203

原创 LeetCode:剑指 Offer 06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof方法1 利用栈:思路: 倒序输出一般可以考虑使用栈的“先进后...

2020-08-13 00:32:25 99

原创 LeetCode:剑指 Offer 05. 替换空格

剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof思路:遇到空格替换,否则追加s中原字符时间复杂度:O(n)空间复杂度:O(n)strin...

2020-08-12 00:46:22 85

原创 C++ vector容器的坑~

C++中,未初始化的vector容器不能进行下标操作!int main(){ vector<int> v(k, 0); // 初始化的v可以进行下标操作 // vector<int> v; // 报错:未初始化分配容器大小的v不能用下标操作,只能通过push_back()添加元素 for (int i = 0; i < k; i++) { v[i] = i; } return 0;}.

2020-08-11 00:51:24 499

原创 LeetCode:589. N叉树的前序遍历

589. N叉树的前序遍历给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树: 1 / | \ 3 2 4 / \ 5 6返回其前序遍历: [1,3,5,6,2,4]。说明:递归法很简单,你可以使用迭代法完成此题吗?链接:https://leetcode-cn.com/problems/n...

2020-08-09 01:35:52 145

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

242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?链接:https://leetcode-cn.com/problems/va..

2020-08-08 23:55:47 79

原创 LeetCode:258. 各位相加

258. 各位相加给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-digits著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...

2020-08-08 00:09:01 112

原创 LeetCode:412. Fizz Buzz

412. Fizz Buzz写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果n是3的倍数,输出“Fizz”;2. 如果n是5的倍数,输出“Buzz”;3.如果n同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", ...

2020-08-07 01:26:28 197

原创 LeetCode:350. 两个数组的交集 II

350. 两个数组的交集 II示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果的顺序。进阶:如果给定的数组已经排好序呢?你将如何优化你的算法?如果nums1的大小比nums2小很多,哪种方法更优?如果nu...

2020-08-04 01:56:20 178 1

原创 LeetCode:15. 三数之和

15. 三数之和给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]链接:https://leetcode-cn.com/problems/3sum思路:...

2020-08-02 18:45:58 102

原创 LeetCode:88. 合并两个有序数组

88. 合并两个有序数组

2020-08-01 19:26:46 110 1

原创 LeetCode:283. 移动零

283. 移动零难度简单673收藏分享切换为英文关注反馈给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。思路:// i:慢指针 j:快指针1.若下标为 j的元素不为0,则同时i ++,j++; 2.若下标为 j的元素为 0,则快指针 j 向前,慢指针 i 不动; ...

2020-08-01 18:23:41 235 1

原创 LeetCode:面试题 08.03. 魔术索引

面试题 08.03. 魔术索引魔术索引。 在数组A[0...n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。示例1:输入:nums = [0, 2, 3, 4, 5]输出:0说明: 0下标的元素为0示例2:输入:nums = [1, 1, 1]输出:1说明:nums长度在[1, 1000000]之间此题为原书...

2020-08-01 16:29:29 132

原创 LeetCode:21. 合并两个有序链表

21. 合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4链接:https://leetcode-cn.com/problems/merge-two-sorted-lists方法1 递归:思路:(1) 我们直接将以上递归过程建模,同时需要考虑边界情况。...

2020-08-01 00:08:59 98 1

空空如也

空空如也

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

TA关注的人

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