Leetcode
Do Always Learning
按部就班就是伟大,加油!
展开
-
检测整数是否含有7 或 是7的倍数
题目输入一行整数,以空格分开,统计该行中满足 整数中含有数字7 或是 7的整数倍的 整数个数。#include<vector>#include<iostream>using namespace std;//检测整数是否含有7 或 是7的倍数int test(int num){ if (!(num % 7)) { return 1; } while (num) { if (num % 10 ==原创 2021-06-17 22:18:15 · 2921 阅读 · 0 评论 -
力扣121:买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。在题目中,以一个变量记录一个历史最低价格minprice,我们就可以假设股票 是在那天买的。那么我们再第i天卖出股票能得到的利润就是price[i] - minprice。class Solution {原创 2021-05-31 20:14:52 · 78 阅读 · 0 评论 -
动态规划样题
力扣70:爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。动态规划因为在第 nnn阶上,只能从第 n−1n-1n−1 阶和第n−2n-2n−2阶处上来,可列出以下递推公式:f(n)=f(n−1)+f(n−2)f(n) = f(n-1)+f(n-2)f(n)=f(n−1)+f(n−2)意味着爬到第xxx级台阶的方案数 是 爬到第x−1x-1x−1级台阶的方案数和爬到第x−2x-2x−2级台原创 2021-05-27 17:14:26 · 66 阅读 · 0 评论 -
力扣53:最大子序和
给定一个整数数组nums,找到一各具有最大和的连续子数组(子数组最少包含一个元素)。返回其最大和解题思路贪心算法若当前指针所指元素之前的和小于0,则丢弃当前元素之前的数列。int maxSubArray(vector<int> &nums){ int pre = 0, res = nums[0]; for(const auto &x : nums) { //若当前指针所指元素之前的和小于0,则以当前值nums[i]取代。 //若当前指针所指元素之前的和为原创 2021-05-26 21:57:28 · 60 阅读 · 0 评论 -
力扣75:颜色分类排序
链接原创 2021-05-26 10:18:06 · 118 阅读 · 0 评论 -
实现POW(x,n)
实现pow(x,n),即计算x 的 n次幂函数快速幂+递归class Solution {public: double quickMul(double x, long long N) { if (N == 0) return 1.0; double y = quickMul(x,N/2); return N%2 == 0 ? y * y : y * y *x; } double my转载 2021-05-25 21:50:19 · 248 阅读 · 0 评论 -
力扣数组题型
文章目录力扣35:搜索插入位置力扣35:搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。class Solution {public: int searchInsert(vector<int>& nums, int target) { int i = 0; int len = nums.size() ; //首先排除数组第一个元素 和 最原创 2021-05-10 21:56:38 · 144 阅读 · 0 评论 -
力扣字符串题型
文章目录力扣58:最后一个有效单词的长度力扣151:翻转字符串里的单词力扣344:反转字符串力扣58:最后一个有效单词的长度问题给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例输入:s = “hello world”输出:5输入:s = " "输出 : 0输入:s = "a b "输出: 1输入:s = “a”输出:1代码c原创 2021-05-09 20:16:07 · 115 阅读 · 0 评论 -
力扣递归题型
平衡二叉树原创 2021-05-06 18:37:01 · 92 阅读 · 0 评论 -
力扣面试题03.02:栈的最小值
链接题解辅助栈思想:class MinStack {public: /** initialize your data structure here. */ stack<int> minstack; stack<int> outStack; MinStack() { minstack.push(INT_MAX); } void push(int x) { outStack.push(原创 2021-04-25 21:40:31 · 80 阅读 · 0 评论 -
力扣1021:删除最外层的括号
解题思路class Solution {public: string removeOuterParentheses(string S) { string res = ""; int count = 0; for(char ch : S) { if(ch == '(' && count ++ >0) { .原创 2021-04-23 17:05:41 · 73 阅读 · 0 评论 -
力扣栈题型
文章目录删除字符串中的相邻重复项删除字符串中的相邻重复项利用栈的思想来实现,解题链接class Solution {public: string removeDuplicates(string S) { string stack; for(char ch : S) { if(!stack.empty() && stack.back() == ch)原创 2021-04-18 21:15:24 · 186 阅读 · 0 评论 -
力扣数组题型
移除数组中的元素个人思路解法:先置0 并 计数,然后由大到小排序,较复杂,多了一个排序动作。class Solution {public: int removeElement(vector<int>& nums, int val) { int num = 0; if(nums.size() == 0) return 0; for(int i = 0; i< nums.size();i++)原创 2021-04-16 17:23:42 · 76 阅读 · 0 评论 -
力扣链表题型
文章目录返回链表中间结点合并两个有序链表删除排序链表中的重复元素移除未排序链表中的重复元素返回链表中间结点给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {原创 2021-04-11 19:56:52 · 94 阅读 · 0 评论