- 博客(8)
- 收藏
- 关注
原创 Java-简易控制台聊天室
一个子线程专门处理群聊功能,一个子线程专门处理私聊功能。主线程通过接收客户端传来的数据,为客户端提供相应的服务端。文件要实现文件覆盖功能,需要在每次写完文件,并flush后,将文件流关闭。客户端有一个主线程与一个子线程。主线程用来向服务端传递数据,子线程用来接收服务端传来的数据。4.在服务端保存登录用户信息,总登录人数,私聊信息,群聊信息。,导致原本的子线程无法接收数据,进而导致项目逻辑出错。客户端一定有且仅有一条用来接受数据的管道,万不可多开。网络通信 此处所用TCP通信。自己在写项目时,因为在。
2024-03-18 18:31:12
171
1
原创 二维前缀和暴力算法
2.从前缀和图的左上角开始遍历,固定子矩阵的左上角。然后从左上角开始接着遍历,固定子矩阵的右下角。让元素的序号(即:当前元素是第几个元素)与数组(容器)的索引。1.套公式制作前缀和图--sums[][]对于求前缀和时的临界情况----2.求任意子矩阵所有元素之和。在进行二维图的设计时,
2024-03-04 19:35:00
148
原创 DFS求合法解个数问题
时间复杂度过高,即使剪枝优化后也只能得40%-50%左右的分数。将DFS递归过程中,不合法的情况剪掉,递归+回溯+剪枝优化。
2024-03-03 17:50:23
318
原创 DFS解有解性问题
从坐标系的O点(即图的最上角)开始遍历,当遇到target的第一个字符后,开始DFS。当前层次的DFS搜索失败(不符合题意)后,需要进行。回溯作用:令程序退回到上层次DFS,以便于下次DFS搜索时进行操作。二维图中的某点在坐标系中的坐标。,使程序退回到上一层DFS的状态。,当递归的次数较大时,极易可能。此代码为了利用递归进行回溯,
2024-03-02 20:59:13
266
原创 二分查找初步感悟
在二分查找的题目中,我们所求的答案往往是(或者可以转换成)去求一个极限。根据题目所给的数据范围,若是直接暴力搜索,大部分的数据一定会超时。此情况若不单独拎出来处理,程序在执行过程中访问该集合时,会出现。(注意,不是全部),无需对这些临界情况再进行单独的代码处理。当区间内元素个数为奇数个时,中间值即取此区间唯一的中间值。做算法题时,题目中的一些临界情况可以利用。巧妙地融合进一般情况的代码中,进行处理。所以,我们在调用一些容器自带的方法时。所以做题时,将一般情况处理好后,这样的中间值涵盖了二分查找时的。
2024-02-22 11:46:32
1366
1
原创 深度优先搜索(暴力搜算)初步感悟
到倒数第二层次,对该层次的要素进行检查,然后立马再次深入到最深层次。为了求出最长子数列,一般会定义一个全局变量数组ans,用以接收搜索出的符合题意的子数列,然后迭代出最长子数列。1.在这个栈帧中,发现该栈帧接收的前一个排列数的在数列中的索引已经大于该数列的最大索引。此时说明该子数列结束。,然后枚举所有符合题意的子数列,再对当前的最长子数列进行迭代。2.程序在遍历了整个for循环后,仍没有找到符合题意的排列数,说明,该子数列的有序排列。需要注意的是,利用暴搜解这种题型时,一定是元素可以任意排列组合的题目。
2024-02-06 19:06:10
725
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人