![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
The Cure
这个作者很懒,什么都没留下…
展开
-
2020-09-27
1、数组拆分1给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).int arrayPairSum(vector<int>& nums) { sort(nums.begin()原创 2020-09-28 10:54:24 · 118 阅读 · 0 评论 -
leetcode0920
1、学生出勤记录1给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:'A' : Absent,缺勤'L' : Late,迟到'P' : Present,到场如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。def checkRecord(self, s: str) -> bool: return s.count('A') <=1 and原创 2020-09-20 20:10:17 · 70 阅读 · 0 评论 -
leetcode0912
1、二叉搜索树的最小绝对值差给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。示例:输入: 1 \ 3 / 2输出:1解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 int getMinimumDifference(TreeNode* root) { //二叉查找树中,中间节点的值一定是其左右节点的中间数,因此最小差应该在中间节点与左右节点之间 //中序遍...原创 2020-09-13 11:19:31 · 83 阅读 · 0 评论 -
leetcode0830
一、最长特殊序列给你两个字符串,请你从这两个字符串中找出最长的特殊序列。「最长特殊序列」定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列 可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。示例 1:输入: "aba", "cdc"输出: 3解释: 最长特殊序列可为 "aba" (或 "cdc"),两者均为自身的原创 2020-08-31 15:40:52 · 86 阅读 · 0 评论 -
leetcode0822
一、两整数之和不使用运算符+ 和-,计算两整数a、b之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1int getSum(int a, int b) { while(b>0){ a++; b--; } while(b<0){ a--; b+...原创 2020-08-24 13:35:42 · 55 阅读 · 0 评论 -
leetcode0815
一、有效的完全平方数给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回 True,否则返回 False。 bool isPerfectSquare(int num) { int low=1; int high=num; while(low<=high){ int mid=low+(high-low)/2; int t=num/mid; if(t==mid){ if(num%mi...原创 2020-08-17 15:23:57 · 145 阅读 · 0 评论 -
leetcode0806
1、移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]void moveZeroes(vector<int>& nums) { int j=0; for(int i=0;i<nums.size();i++){ if(nums[i]!=0){ nums[j++]=nums[i];原创 2020-08-11 21:06:30 · 101 阅读 · 0 评论 -
leetcode0802
1、两数之和-有序数组给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此...原创 2020-08-02 21:09:38 · 91 阅读 · 0 评论 -
leetcode0725
1、买卖股票的最佳时期给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3...原创 2020-08-02 12:11:53 · 203 阅读 · 0 评论 -
leetcode
1、求二叉树最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。int maxDepth(TreeNode* root) { if(root==NULL)return 0; int ldep,rdep; ...原创 2020-07-19 19:42:09 · 84 阅读 · 0 评论 -
leetcode0711
1、爬楼梯假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶解题思路:斐波那契函数 f(i)=f(i+1)+f(i...原创 2020-07-12 10:49:05 · 74 阅读 · 0 评论 -
leetcode
1、最大子序和给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。解题思路:定义一个函数f(n),以第n个数为结束点的子数列的最大和,存在一个递推关系f(n) = max(f(n-1) + A[n], A[n]); 将这些最大和保存下来后,取最大的那个就是,最大子数组和。因为最大连续子数组 等价于 最大...原创 2020-06-28 16:59:22 · 92 阅读 · 0 评论 -
leetcode0621
1、实现strStr()实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。class Solution {public: int strStr(string haystack, string needle) { if(needle.size()==0) return 0; ...原创 2020-06-22 11:46:36 · 116 阅读 · 0 评论 -
leetcode0612
1、两数之和 (简单)给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution {public: vector<int> t...原创 2020-06-15 13:41:07 · 72 阅读 · 0 评论 -
leetcode每日温度
请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]。每个气温的值的均为华氏度,都是在[30, 100]范围内的整数。class Solution {pub...原创 2020-06-11 21:49:38 · 142 阅读 · 0 评论