- 博客(246)
- 收藏
- 关注
原创 【一】【socket聊天室】-多线程,socket编程
(1)多用户聊天:一个服务器多个客户端,客户端信息显示在公共的服务端窗口,利用多线程实现; ——客户端双线程:一个接受线程一个发送线程(主线程); ——服务器单线程:接收线程;(2)多用户广播界面:将信息显示到所有用户界面和服务器界面,同时服务器也能发言,利用多线程实现; ——客户端双线程:一个接受线程一个发送线程(主线程); ——服务器单线程:一个接收线程(主线程)一个发送线程;其中接受线程为每个连接开了单独的线程;
2023-03-08 03:07:15
6576
4
原创 【随想录】-【8 回溯算法】【子集问题】491 递增子序列
注意去重逻辑不一样:这个事先不能排序,所以不能使用i>start&&num[i]==i-1; ——为了记忆断开的使用情况,如[1,2,1,1],需要使用一个used记录使用情况;(2)注意:需要使用所有子集,不能return,每次都需要接着来;...
2022-08-27 21:22:54
414
原创 【随想录】-【8 回溯算法】【子集问题】78 子集
(1)解决方法同组合问题,不过每个子节点都要记录为解而已;(2)子集问题:等价于两种组合问题,不重复集合,每个取一次;重复集合,每个取一次;(3)注意终止条件;
2022-08-21 22:02:38
151
原创 【随想录】-【8 回溯算法】【组合问题】40 组合总和Ⅱ
(1)组合问题,子集问题,排列问题,棋盘问题,切割问题;(2)组合问题:从N个数里面挑选满足条件的k个;(3)for循环分布:背包内物品外组合,背包外物品内排列(兑换零钱);(4)组合问题: ——数组中无重复元素:使用一次(startIndex设为i+1即可,注意剪枝path.size和sum);不限次使用(startIndex设为i,用来去重,剪枝sum); ——有重复元素:肯定只使用一次,用used进行树层去重,只能是树层去重,不能树枝
2022-08-19 17:46:57
215
原创 【随想录】-【8 回溯算法】【组合问题】39 组合总和
重点:(1)组合问题:N个数里面挑出满足条件的k个数;(2)回溯法解决问题:组合问题,切割问题,子集问题,排列问题,棋盘问题;(3)for循环分布:背包内物品外组合,背包外物品内排列:(4)重点是:如何实现重复使用元素,以及去掉重复的组合; ——设置startIndex为当前的i,然后终止为candidate.size,这样就不用往回找;(5)参数不能递减target,而应该设置sum与其比对;
2022-08-19 16:36:58
175
原创 【随想录】-【8 回溯算法】【组合问题】77 组合
(1)组合问题:N个数里面挑出满足条件的k个数;(2)回溯法解决问题:组合问题,切割问题,子集问题,排列问题,棋盘问题;(3)for循环分布:背包内物品外组合,背包外物品内排列;(4)注意判断递归深度和宽度各代表什么。对于此问题,每次从startIndex开始,到n结束;(5)注意剪枝:当n-startIndex不够k-path.size时,可以提前停止;
2022-08-19 16:01:52
373
原创 【随想录】-【8 回溯算法】回溯算法理论基础
(1)深搜:递归和栈实现,先中后序遍历;广搜:队列实现,层次遍历;(2)回溯的本质是穷举,即暴力搜索(BFS和DFS),所以效率不高;(3)回溯法解决问题:组合问题,切割问题,子集问题,排列问题,棋盘问题;(4)for循环分布:背包内物品外组合,背包外物品内排列:(5)回溯法抽象为一棵树:集合的大小构成树的宽度,递归的终止条件构成深度;(6)回溯模板:for实现横向遍历,backtracking实现纵向遍历;(7)回溯法三部曲:确定函数参数及返回条件void;终止条件;单层递归逻辑(
2022-08-19 15:24:18
362
原创 【随想录】-【10 动态规划】123 买卖股票的最佳时机Ⅲ
本题的动规重点在于递推公式的判断,以及dp数组的推导,注意dp数组跟问题的状态紧密相关。
2022-07-26 14:44:36
122
原创 【随想录】-【10 动态规划】121 买卖股票的最佳时机
此题三种解法。暴力方法超时,贪心比较简单,容易想出来。动规是针对这类题的特殊方法,因为考虑两种情况。
2022-07-25 20:52:10
109
原创 【随想录】-【11 单调栈】-【04】42 接雨水
三种解法。双指针就是两轮for的暴力搜索;动规就是升级版的双指针,达到O(n);最后单调栈属实难理解。
2022-07-24 12:06:07
291
原创 【随想录】-【11 单调栈】-【02】496 下一个更大元素
抽象出问题,然后利用单调栈解决。注意数组存的内容不同,每日温度是下标,这个是下标对应的值。
2022-07-22 20:48:34
85
原创 【力客热题HOT100】-【100】739 每日温度
解法1:暴力搜索,逻辑简单,超时;解法2:动态规划,跳跃式遍历,升级的暴力搜索,AC;解法3:单调栈,O(n),AC,掌握好单调栈的思想和应用。
2022-07-22 18:17:47
326
原创 【力客热题HOT100】-【058】198 打家劫舍
比较明显的动态规划特征。注意要存储两个数,即第n家偷与不偷的两个结果都要存储,最后取最大值。更新数组比较明显。
2022-07-21 20:32:00
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人