- 博客(193)
- 收藏
- 关注
原创 [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]做题记录 213打家劫舍
与上一题相比,多了一个环,那么要考虑几种情况,第一种是不包含头尾,第二种是不包含头,第三中是不包含尾。把动态规划的内容单独领出来写。
2024-09-03 09:42:47 156
原创 【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
原创 [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
原创 【linux】学习
假设现在4-1023文件描述符需要监听,但是5-1000这些文件描述符关闭了 自定义数组来遍历。只是返回变化的文件描述符的个数,具体哪个变化需要遍历。每次都需要将需要监听的文件描述符由应用层拷贝到内核。缺点:每次都需要将需要监听的文件描述符从应用层拷贝到内核。优点:相对于select没有最大1024文件描述符限制。以后每次监听都不要再此将需要监听的文件描述符拷贝到内核。创建一个红黑树 将需要监听的文件描述符上述 监听。返回的是已经变化的文件描述符,不需要遍历树。没有文件描述符1024的限制。
2024-08-26 15:02:55 151
原创 【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
原创 【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关注的人