自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(193)
  • 收藏
  • 关注

原创 [leetcode]做题记录583两个字符串的删除操作

【代码】[leetcode]做题记录583两个字符串的删除操作。

2024-09-06 11:22:16 114

原创 [leetcode]做题记录 115不同子序列

有点难,但把dp数组的值写出来也比较清晰了。

2024-09-06 11:10:30 177

原创 [leetcode]做题记录1035不相交的线

看题目那么复杂,其实就是求最长子序列的长度 例子上可以是1,2也可以是1,4反正都是等于2。

2024-09-05 11:17:39 351 1

原创 [leetcode]做题记录 1143最长公共子序列

【代码】[leetcode]做题记录 1143最长公共子序列。

2024-09-05 10:58:33 438

原创 [leetcode]做题记录 718最长重复子数组

比较两个数组的,可以画一个二维数组,比较,例如混淆矩阵一样的比较。

2024-09-05 10:50:26 351

原创 【leetcode】做题记录 300最长递增子序列

用动态规划法做,dp为到当前这个值最大的递增子序列长度。

2024-09-05 10:29:23 276 1

原创 [leetcode]做题记录买卖股票的最佳时机4

与上一题一样的,就是变成k次class Solution {public: int maxProfit(int k, vector<int>& prices) { int len=prices.size(); if(len==0)return 0; vector<vector<int>>dp(len,vector<int>(2*k+1,0));//分为2*k+1次情况

2024-09-04 11:26:31 195

原创 [leetcode]做题记录 123买卖股票的最佳时机

动态规划,分5中情况的下标。

2024-09-04 11:14:10 157 1

原创 [leetcode]做题记录 337打家劫舍

【代码】[leetcode]做题记录 337打家劫舍。

2024-09-03 09:53:49 339

原创 [leetcode]做题记录 213打家劫舍

与上一题相比,多了一个环,那么要考虑几种情况,第一种是不包含头尾,第二种是不包含头,第三中是不包含尾。把动态规划的内容单独领出来写。

2024-09-03 09:42:47 156

原创 [leetcode]做题记录 198打家劫舍

dp的下标为遍历到当前这家,所偷的最大价值。

2024-09-03 09:28:13 230

原创 [leetcode]做题记录 携带矿石资源

多重背包,扩展成01背包来做,

2024-09-03 09:12:48 271

原创 【leetcode】做题记录 139单词拆分

完全背包题,将单词作为物品,字符串作为背包。

2024-09-03 09:02:24 371

原创 【linux】学习 libevent

核心:以事件驱动(触发)回调。跨平台 支持多路IO复用。

2024-08-30 15:43:26 128

原创 [leetcode]做题记录 518零钱兑换

【代码】[leetcode]做题记录 518零钱兑换。

2024-08-30 11:15:25 246

原创 【leetcode】做题记录 474一和零

字符串的zeroNum和oneNum相当于物品的重量(weight[i]),字符串本身的个数相当于物品的价值(value[i])dp[i][j] 最多有i个0和j个1的strs的最大子集大小为dp[i][j]物品价值不会是负数,所以初始为0。外层循环物品,内层循环遍历容量。1、确定dp以及下标的含义。5、举例推到dp数组。

2024-08-30 10:24:18 203

原创 [leetcode]做题记录494目标和

x=(sum+target)/2=bagsize 背包容量。那么目标和target=x-(sum-x)用动态规划 想成背包题,装满背包的方式。加号加起来为x,那么减号为sum-x。那么就是背包的五部曲了。

2024-08-30 10:11:15 205

原创 【linux】学习 epoll反应堆 线程池

线程池,事先创建几个线程,不停取任务,如果没有任务休眠,省去了不停的创建线程销毁线程的事件和资源。线程池中的线程不停的去从任务队列取任务,有任务到来往任务队列中添加(生产者和消费者模型)两个条件变量(一个用来阻塞取任务线程 一个用来阻塞添加者线程)文件描述符 事件 回调函数 封装在一起。注意:线程池 处理的任务 所需要处理的事件必须很短。如果没有任务,解锁等待条件,条件满足抢锁,取任务。有任务直接取任务解锁。

2024-08-29 16:21:39 165

原创 [leetcode]做题记录1049最后一块石头的重量

是一题01背包的题目,重量和价值都是stone[i];相撞之后剩余的重量就是sum-dp[target]*2。做法与上一题类似,计算总和,然后目标是总和的一半。

2024-08-29 09:56:27 188

原创 [leetcode]做题记录 416分割和子集

这题是01背包的题,背包容量是sum/2。

2024-08-29 09:47:28 209

原创 [leetocde]做题 卡码网4601背包问题

一维数组用的是滚动数组,dp【j】表示容量为j的背包,所背的物品价值最大可以是dp[j];dp[i][j]表示从下标0-i的物品 里任意取,放进容量为j的背包,价值总和最大时多少。二维的dp[i][j]中的i表示物品,j表示背包容量。主要是设置初始化和理解01背包。重点是吧dp数组的初始化搞懂。可以用二维或者一维动态规划。

2024-08-29 09:34:59 168

原创 [leetcode]做题记录 96不同的二叉搜索树

跟之前的题都有点像,dp的下标记录的是每个下标下可以的最多搜索树。

2024-08-28 10:22:09 115

原创 [leetcode]做题记录 343整数拆分

那么动态规划的时候可以记录,每个数下的拆分最大乘积。

2024-08-28 10:08:21 170

原创 【leetcode】做题记录 63不同路径

跟上一题相比就是多了一个障碍,因此将障碍的路不设置为1,以及遍历过程中判断是否有障碍,有障碍就跳过。

2024-08-28 09:35:46 188

原创 [leetcode]做题记录 62不同路径

【代码】[leetcode]做题记录 62不同路径。

2024-08-28 09:26:41 148

原创 【leetcode】做题记录 70爬楼梯

也是简单题,只用判断dp的初始化。

2024-08-27 09:13:43 147

原创 【leetcode】做题记录 509斐波那契数

【代码】【leetcode】做题记录 509斐波那契数。

2024-08-27 09:10:30 136

原创 【linux】学习

假设现在4-1023文件描述符需要监听,但是5-1000这些文件描述符关闭了 自定义数组来遍历。只是返回变化的文件描述符的个数,具体哪个变化需要遍历。每次都需要将需要监听的文件描述符由应用层拷贝到内核。缺点:每次都需要将需要监听的文件描述符从应用层拷贝到内核。优点:相对于select没有最大1024文件描述符限制。以后每次监听都不要再此将需要监听的文件描述符拷贝到内核。创建一个红黑树 将需要监听的文件描述符上述 监听。返回的是已经变化的文件描述符,不需要遍历树。没有文件描述符1024的限制。

2024-08-26 15:02:55 151

原创 [leetcode]做题记录 84 柱状图中最大的矩形

还是用单调栈,找到下一个比自己小的元素。

2024-08-24 19:51:10 151

原创 [leetcode]做题记录 42接雨水

用单调栈做是最好做的,查找数组中下一个比自己大的数。有点难,题目我都有点难理解。

2024-08-24 19:39:01 203

原创 【leetcode】做题记录 503下一个更大元素

前两题的结合,但是是循环数组,将数组大小*2,然后下标都改一下。

2024-08-23 15:30:31 411

原创 【leetcode】做题记录 496下一个更大元素

单调栈,两个数组,第一个数组用图来记录。

2024-08-23 15:28:59 377

原创 【leetcode】做题记录 739每日温度

单调栈来做,我个人理解为单调栈的作用就是拿来判断数组下标?

2024-08-23 15:27:47 324

原创 【leetcode】做题记录 968监控二叉树

4、最后判断一下头节点有没有被覆盖,没有的话,将头节点也设置一个摄像头。2、左孩子或者右孩子只要有一个没覆盖,就将该节点设置一个摄像头。1、左右孩子都被摄像头覆盖,将该节点设置0,因为没有覆盖。3、左孩子或右孩子有一个有摄像头,将其设置为2。设置无覆盖(无摄像头覆盖)为0;有点难,题目都有点看不懂。

2024-08-22 17:00:43 147

原创 [leetcode]做题记录 738单调递增的数字

我觉得暴力方法好做,能直接想出来,写一个函数判断数字是不是单调递增,然后在主函数中不断将数字-1,放入判断。将数字先转为字符串,从后往前判断是否单调递增,前一个大就将前一个-1,并设置一个flag,是否需要赋值为9。这题也可以用贪心算法。

2024-08-22 16:29:21 192

原创 【leetcode】做题记录 763 划分字母区间

遍历数组下标,当与字母出现最后一个下标相等的时候划分开。先记录每个字母出现的最后一个下标,尽可能多的片段,

2024-08-22 15:47:41 95

原创 【leetcode】做题记录 435无重叠区间

贪心算法 与引爆气球很像,求重叠区间的。

2024-08-22 15:36:24 216

原创 【leetcode】做题记录 452 用最少数量的箭引爆气球

主要是讲数组对第一个值进行排序,然后判断相邻的有没有重叠的部分。

2024-08-22 12:27:34 172

原创 【linux】学习 tcp

多路IO转接服务器也叫做多任务IO服务器,该类服务器实现的主旨思想是,不再由应用程序自己监听客户端连接 取而代之由内核替应用程序监视文件。需要设置tcp的保持连接,作用就是每隔一定的时间间隔发送探测分节,如果连续发送多个探测分节对方还未回,就将次连接断开。如果某个文件描述符的读缓冲区变化了,这个时候就是可以读了,将这个事件告知应用层。程序中设置某个端口重新使用,在这之前的其他网络程序将不能使用这个端口。注意:变化的文件描述符会存在监听的集合中,未变化的文件描述符会被删除。乒乓:携带比较多的数据的心跳包。

2024-08-22 12:26:16 122

原创 【leetcode】做题记录 406根据审稿重建队列

局部最优:优先按照身高高的k来插入,插入操作过后的满足队列属性。全局最优:最后都做完插入操作,整个队列满足题目队列属性。

2024-08-21 10:05:34 114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除