- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 LeetCode 35 搜索插入位置 C++
https://leetcode-cn.com/problems/search-insert-position/submissions/给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,.
2020-07-17 13:14:43
147
原创 LeetCode 34 在排序数组中查找元素的第一个和最后一个位置
https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4..
2020-07-16 20:32:16
132
原创 LeetCode 33 搜索旋转排序数组
https://leetcode-cn.com/problems/search-in-rotated-sorted-array/假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,...
2020-07-15 09:58:34
133
原创 LeetCode 31 下一个排列
https://leetcode-cn.com/problems/next-permutation/实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路:从最末位寻找第一个破坏升序的数nums[pos -
2020-07-14 21:40:32
162
原创 LeetCode 22 括号生成
https://leetcode-cn.com/problems/generate-parentheses/数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]回溯法class Solution {public: vecto...
2020-07-14 11:14:07
123
原创 LeetCode 19 删除链表的倒数第N个节点
https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。快慢指针一次遍历,注意内存泄漏/** * Definition for sing...
2020-07-13 11:18:07
116
原创 LeetCode 17 电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].回溯法 (DFS:深度优先搜索)class Solution {public: vector<string> letterCombinations(string digits) { ..
2020-07-12 18:09:32
111
原创 LeetCode 15 三数之和
https://leetcode-cn.com/problems/3sum/给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]排序+双指针class Solution ...
2020-07-12 11:41:46
138
原创 LeetCode 11 盛最多水的容器
https://leetcode-cn.com/problems/container-with-most-water/给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能...
2020-07-12 10:31:26
120
原创 编译错误: Line 30: Char 5: fatal error: control may reach end of non-void function [-Wreturn-type] }
记录一下码代码时遇到的问题 if (index1 == m) { return nums2[index2 + k - 1]; } if (index2 == n) { return nums1[index1 + k - 1]; } if (k == 1) { return min(nums1[ind
2020-07-11 12:02:16
1684
原创 Effective C++ (第三版)读书笔记
0.导读术语1.声明式(declaration):告诉编译器某个东西的名称和类型(type),但略去细节。extern int x; // 对象(object)声明式std::size_t numDigits(int number); // 函数(function)声明式class Widget; ...
2019-12-03 20:46:49
135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人