- 博客(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 619
原创 比特位计数
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。示例 1:输入:n = 2输出:[0,1,1]解释:0 --> 01 --> 12 --> 10看题之前先复习一下,按位与运算和移位运算按位与运算:定义就不说了,实在不会的就百度。原理:0&0=0,0&1=0,1&1=1举例: 0 1 1 1 0 1
2021-12-03 22:05:15 685
原创 买卖股票的时机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 95
原创 杨辉三角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 635
原创 最大子序和
给你一个整数数组 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 409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人