自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 课程表 II

题目描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。运行实例示例 1:输入: 2, [[1,0]]输出: [0,1]解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,正确的课程顺

2020-05-17 16:18:36 234

原创 课程表

题目描述你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?运行实例示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,1]]输出:

2020-05-17 12:05:28 418

原创 对称二叉树

题目描述给定一个二叉树,检查它是否是镜像对称的。运行示例二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3[1,2,2,null,3,null,3] 不是镜像对称的: 1 / \ 2 2 \ \ 3 3大...

2020-04-24 21:35:51 168

原创 子集

题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。运行示例输入: nums = [1,2,3]输出:[[3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]大体思路一位一位的往上叠加,比如对于题目中给的例子[1,2,3]来说,最开始是空集,那么我们现在要处理1,就在空集上加1,为[1],现在...

2020-04-18 18:23:59 179

原创 只出现一次的数字 II

题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。运行示例输入: [2,2,3,2]输出: 3输入: [0,1,0,1,0,1,99]输出: 99大体思路(大佬的思路,日后可以用来回顾)如果能设计一个状态转换电路,使得一个数出现3次时能自动抵消为0,最后剩下的就是只出现1次的数。开始设计:一个二进制位只能表示0或者1...

2020-04-18 11:28:12 247

原创 只出现一次的数字

题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。运行示例输入: [2,2,1]输出: 1输入: [4,1,2,1,2]输出: 4大体思路异或^按位与 两数相同为0,不同为1一个数与自己异或会变成0 任何数和0异或不变异或满足结合律 如 5^2 ^3 ^2 = 2 ^ 2 ^ 5 ^3所以,将所有数字异或,如果一个...

2020-04-09 23:34:24 119

原创 无重复字符的最长子串

题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。运行示例输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。大体思路我不行了…我写不出来,当最长子串在末尾时检测不到(T-T)代码实现class Solution...

2020-04-09 22:45:20 112

原创 反转字符串

题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。运行示例输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]大体思路从前往后第...

2020-04-05 14:33:28 116

原创 最长公共前缀

题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。运行示例输入: [“flower”,“flow”,“flight”]输出: “fl”输入: [“dog”,“racecar”,“car”]输出: “”大体思路当元素个数为0时返回“”当元素个数为1时返回该元素元素个数大于1时,将第一个元素与第二个比较,得到公共部分将得到的公共部分...

2020-04-05 14:07:35 109

原创 整数反转

题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。运行示例输入: 123输出: 321输入: -123输出: -321输入: 120输出: 21大体思路设a为反转之后的结果(初始值为0),m为x的最后一位数当x值不为0时,依次取最后一位数m,并去掉末位a = a * 10 + m得到反转数其数值范围为 [pow(-2,31), pow(2...

2020-03-29 19:51:33 87

原创 逆波兰表达式求值

题目描述根据逆波兰表示法,求表达式的值。运行示例输入: [“2”, “1”, “+”, “3”, “*”]输出: 9解释: ((2 + 1) * 3) = 9输入: [“4”, “13”, “5”, “/”, “+”]输出: 6解释: (4 + (13 / 5)) = 6大体思路建立栈,并依次将数字(非运算符)放入栈中当遇到运算符时,将栈顶元素取出并删除两次,并把两数按顺序...

2020-03-22 13:47:49 249

原创 最小栈

题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。运行示例MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0)...

2020-03-22 11:53:08 108

原创 有效的括号

题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。运行示例输入: “()[]{}”输出: true输入: “([)]”输出: false输入: “{[]}”输出: true大体思路先判断符号个数是否为偶数...

2020-03-22 00:05:55 87

原创 环形链表

题目描述给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。运行示例示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0...

2020-03-15 11:27:51 122

原创 删除排序链表中的重复元素

题目简述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。运行示例示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3大体思路将头节点给temp如果temp的值与temp.next的值相等,则将temp.next.next放在temp.next处否...

2020-03-15 10:37:47 109

原创 合并两个有序链表

题目简述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。运行实例示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4代码实现class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ...

2020-03-15 09:50:46 95

原创 买卖股票的最佳时机 II

题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路将每两个相邻的数进行比较,并相加每个后一项较大时的差。代码实现class Solution {public: int maxProfit(ve...

2020-03-08 14:00:40 101

原创 买卖股票的最佳时机

题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。思路先定义第一天买的价格int first = prices[0]。后用if函数与后期价格进行比较,使first为最小的数。再使利润a=price[i]-first,并用if函数找出最大的...

2020-03-01 13:18:28 138

原创 合并两个有序数组

题目描述给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。思路由于nums1中有足够空间,所以考虑先将nums2中元素加入nums1现有元素之...

2020-03-01 12:43:26 98

原创 最大子序和

题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。思路从数组的第一个数开始加和。在加过某一项时,当前和小于0,说明前面负数绝对值较大,使结果变小。舍弃前面的项,从新的一项开始加。代码class Solution {public: int maxSubArray(vector<int>& nums...

2020-03-01 11:58:36 92

原创 两数之和

class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { for(int i=0;i<nums.size()-1;i++) for(int j=i+1;j<nums.size();j++) if(nu...

2020-02-22 23:03:14 64

原创 移除元素

public int removeElement(int[] nums, int val) { int a=0; int n = nums.size(); for(int i=0;i<n;i++) { if(nums[i]!=val) { swap...

2020-02-22 23:01:01 76

原创 删除排序数组中的重复项

class Solution {public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) { return 0; } int i=0; for(int a=1;a<nu...

2020-02-22 22:47:25 128

空空如也

空空如也

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

TA关注的人

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