南风不知意182
码龄4年
关注
提问 私信
  • 博客:26,873
    26,873
    总访问量
  • 68
    原创
  • 2,325,376
    排名
  • 2
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-02-25
博客简介:

weixin_55566416的博客

查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得0次收藏
创作历程
  • 68篇
    2022年
成就勋章
TA的专栏
  • 动态规划
    3篇
  • 贪心
    14篇
  • 字符串
    7篇
  • lc小法
    51篇
兴趣领域 设置
  • 嵌入式
    嵌入式硬件
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

leetcode 416 分割等和子串

class Solution {public: bool canPartition(vector<int>& nums) { //因为题目要求时分割成两个子集,并且两个子集的和相等 int sum=0; vector<int>dp(10001,0);//dp[i]表示容量为i,最大可以凑成i的子集之和为dp[i] for(int i=0;i< nums.size(); i++){ .
原创
发布博客 2022.05.11 ·
379 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 1049 最后一块石头的重量2

class Solution {public: int lastStoneWeightII(vector<int>& stones) { int sum =0; vector<int>dp(15001,0);//因为最大可装30000,让两石头相撞取一半,我是这么理解的 for(int i=0; i<stones.size(); i++){ sum+=stones[i]; .
原创
发布博客 2022.05.11 ·
254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 494 目标和

class Solution {public: int findTargetSumWays(vector<int>& nums, int S) { int sum = 0; for (int i = 0; i < nums.size(); i++) sum += nums[i]; if (abs(S) > sum) return 0; // 此时没有方案 if ((S + sum) % 2 == 1).
原创
发布博客 2022.05.11 ·
213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcdoe 56 合并区间

class Solution {public: vector<vector<int>> merge(vector<vector<int>>& intervals) { //这题跟那个射气球的很像,就是重复区间的处理 //定义结果数组 vector<vector<int>>result; if(intervals.size()==0)return resu.
原创
发布博客 2022.05.06 ·
184 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode738 单调递增的数字

class Solution {public: int monotoneIncreasingDigits(int n) { //首先明白我们得到的结果要是单调递增的 //我们需要先将这个数转字符串 string str=to_string(n); int flag=str.size();//用来标记赋值九从哪里开始 for(int i=str.size()-1;i>0;i--){ if(.
原创
发布博客 2022.05.06 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 714 买卖骨牌哦的最佳时机含手续费

class Solution {public: int maxProfit(vector<int>& prices, int fee) { int result=0; int minprice=prices[0]; for(int i=1;i<prices.size();i++){ //如果还有更低点,记录下来 if(prices[i]<minprice)minpric.
原创
发布博客 2022.05.06 ·
90 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 968 监控二叉树

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *.
原创
发布博客 2022.05.06 ·
512 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode1005 k次取反后最大化的数组和

class Solution { private: static bool cmp(int a,int b){ return abs(a)>abs(b); }public: int largestSumAfterKNegations(vector<int>& nums, int k) { //求最大数组和,那我们第一肯定想用贪心 //我们知道负数肯定会拉低整个数组和的大小,所以我们需要通过绝对值来排.
原创
发布博客 2022.05.04 ·
280 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 134 加油站

/方法1​// class Solution {// public:// int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {// //暴力解法,时间复杂度n^2 超时// //思路:遍历每一个点,跑一圈,如果油量>=0,这个加油站可行// for(int i=0;i<gas.size();i++){//
原创
发布博客 2022.05.04 ·
310 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode135 分发糖果

class Solution {public: int candy(vector<int>& ratings) { //这题比较难,因为它需要考虑两边,比如说凹的形式,左右边高的情况,所以我们需要两边遍历 vector<int>CandtVce(ratings.size(),1); //从左到右,给大的加1 for(int i=1;i<ratings.size();i++){ .
原创
发布博客 2022.05.04 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode860 柠檬水找零

class Solution {public: bool lemonadeChange(vector<int>& bills) { //只有5,10,20的情况 //5快直接收下,10快找5快,10快+1,20快找10快+5快或者3张5快 int five=0,ten=0,twenty=0; for(int bill:bills){ if(bill==5)five++; .
原创
发布博客 2022.05.04 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 最大子数组和

class Solution {public: int maxSubArray(vector<int>& nums) { int result=INT_MIN; int count=0; for(int i=0;i<nums.size();i++){ count+=nums[i]; if(count>result){ result=cou.
原创
发布博客 2022.05.03 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 买卖股票

class Solution {public: int maxProfit(vector<int>& prices) { //因为第一天的利润要到第二天才知道,所以我们的利润区间比价格区间少一个 //这道题,也需要常识,我们知道股票亏钱了绝对不能卖,那我们计算最大利润,把正的家加起来不就好了 int result=0; for(int i=1;i<prices.size();i++){ .
原创
发布博客 2022.05.03 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 跳跃游戏

class Solution {public: bool canJump(vector<int>& nums) { //我们只需要关心能跳跃的最大范围是否能到达终点即可,不管是等于还是超过覆盖,都相当于可以到达 //所以我们只要求最大的跳跃距离能不能到终点 int cover=0; if(nums.size()==1)return true;//等于1怎么跳都行 for(int i=0;i<.
原创
发布博客 2022.05.03 ·
1063 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 跳跃游戏2

class Solution {public: int jump(vector<int>& nums) { if(nums.size()==1)return 0; int curindex=0; int nextindex=0; int ans=0; for(int i=0;i<nums.size();i++){ nextindex=max(i+nums[i],nex.
原创
发布博客 2022.05.03 ·
1061 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

455 分发饼干

class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { //使用贪心法,我们知道这道题目的目的是尽可能满足孩子,也就是求的是可以满足孩子的最大数量 //我们这道题贪在哪呢?贪在饼干的满足度大的可以喂饱胃口小的或者干干好的,那么我们当然要京可能用这些满足度大的饼干来满足胃口大的孩子 //先排序 .
原创
发布博客 2022.05.02 ·
254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode377 摆动序列

class Solution {public: int wiggleMaxLength(vector<int>& nums) { //把这个问题看作是一个折线图,我们可以很清楚的看出他们的幅度 //摆动序列这一题要求,一正一负排下去,如果画出来的折线图是单调递增或递减,那么这中间肯定是有不符合要求的 if(nums.size()<=1)return nums.size(); int curDiff=0;...
原创
发布博客 2022.05.02 ·
292 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kmp算法的理解

其实我感觉kmp算法就是bf算法的改进升级,区别在于遇到不同时,不需要回溯到子串的头那里,kmp算法需要构建一个next数组,记录最长相等前后缀。class Solution {public: void getnext(int*next,const string s) { int j=0; next[0]=0; for(int i=1;i<s.size();++i) { if(j>
原创
发布博客 2022.04.12 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode 左旋转字符串

class Solution {public: string reverseLeftWords(string s, int n) { //翻转前k个字符,翻转k到末尾的字符,然后整体翻转 reverse(s.begin(),s.begin()+n); reverse(s.begin()+n,s.end()); reverse(s.begin(),s.end()); return s; }};...
原创
发布博客 2022.04.12 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode806 写字符串需要的行数

const int MAXWITH=100;class Solution {public: vector<int> numberOfLines(vector<int>& widths, string s) { //直接遍历 int line=1;//从第一行开始 int width=0;//记录需要的宽度,widths是a到z需要的单位 for(auto&c:s) { .
原创
发布博客 2022.04.12 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多