- 博客(5)
- 收藏
- 关注
原创 判断子序列
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 原题链接:https://leetcode-cn.com/problems/is-subsequence 示例 1: 输入:s = “abc”, t = “ahbgdc” 输出:true 示例 2: 输入:s = “axc”, t = “ahbgdc” 输出:false 方法一:双指
2021-12-05 20:28:00 594
原创 比特位计数
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 示例 1: 输入:n = 2 输出:[0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10 看题之前先复习一下,按位与运算和移位运算 按位与运算: 定义就不说了,实在不会的就百度。 原理:0&0=0,0&1=0,1&1=1 举例: 0 1 1 1 0 1
2021-12-03 22:05:15 671
原创 买卖股票的时机c++
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1: 输入:[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 =
2021-12-02 13:51:19 82
原创 杨辉三角1,2
1.给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 转化为二维数组: 动态规划思路: 不断在前面的基础之上更新下一层的数值,一层层往下算。 核心算法:dp[i][j]=dp[i-1][j-1]+dp[i-1][j] (当然此题能用滑动窗口来优化动态规划,最后给出) class Solut
2021-12-01 19:05:22 615
原创 最大子序和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。(子数组 是数组中的一个连续部分) 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 方法一:暴力求解 #include <iostream> using namespace std; int main() { int a[9]={-2,1,-3,4,-1,2,1,-5,4};
2021-11-30 20:18:31 399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人