JVM之【GC-垃圾清除算法】 2024-06-03 jvm, 算法 66人 已看 不同垃圾收集算法和垃圾收集器各有优缺点,应根据具体应用需求和硬件环境选择合适的垃圾收集策略。标记-清除和复制算法比较基础,适用于小型或简单应用;分代收集算法适用于大多数常规应用;G1、Shenandoah更适合大内存、低延迟的高性能应用。
【Linux】进程(8):Linux真正是如何调度的 2024-06-07 算法, 运维, linux, 服务器, 数据结构 106人 已看 假如此时active指针指向array[0],那么CPU调度进程时,就访问array[0]的quene[140],这时array[0]的quene[140]的队列只出不进:进程结束,就从CPU上剥离进程的pcb;等到本quene[140]中没有进程了,就将active指向array[1],让empired指向array[0],CPU运行进程时,就访问array[1]的quene[140],此时它就变成了只出不进,另一个就是只进不出。可能有人会说了,那这不还是要遍历吗,看每一个下标对应的比特位是否为0?
LeetCode 两数之和 + 三数之和 2024-06-06 算法, leetcode, 职场和发展 107人 已看 思路:一个Map,key是数值,value是该数值对应的下标,遍历的时候判断一下当前数组下标对应的值在map里有没有可组合成target的(具体体现为在map里找target-nums【i】),如果有,直接返回,没有的话就加进去,继续找。思路:严格上来说算三个指针,一个i是维护当前遍历到的数字下标,之后的l和r指针是从i所处位置开始,在i + 1 到len - 1这个区间中寻找nums[i]的相反数。需要掌握的方法:map的get和containsKey。
[补题记录]Leetcode 209.长度最小的子数组 2024-06-04 算法, leetcode, 职场和发展, 数据结构 134人 已看 题目要求维护最小的长度,因此我们希望:当条件不满足时,不断扩大子数组长度;)时,就可以尝试缩短子数组长度,并进行一次答案的维护。这显然是一个双指针的解法。,要求算出数组中最小长度的连续子数组,数组元素的和。给定一个整数数组和一个整数。
Leetcode:盛最多水的容器 2024-06-03 算法, 容器, leetcode, 职场和发展 140人 已看 两个指针指向的数字中较小值∗指针之间的距离。循环列举容器的大小,并留下最大的那个容器。这种写法会超出时间限制,无法通过。
判断图中是否有环 2024-06-03 算法, 深度优先, 图论 183人 已看 在邻接表方式中,我们可以使用DFS和“访问状态”数组(或集合)来追踪节点。当DFS尝试访问一个已经访问过的节点(即已经在递归栈中的节点)时,我们就可以确定图中存在环。
折半查找&二分查找 2024-06-03 算法, java, 排序算法, 数据结构, 开发语言 114人 已看 本文介绍了折半查找算法的基本原理,并进行了代码的编写,最后又根据标准库中折半查找代码进行了实现,在现有代码的基础上进行优化,使得更加适用一般的情况。
python基础语法 2024-06-06 算法 25人 已看 等号(=)是赋值运算符,用来给变量赋值。变量在使用前需要先赋值,然后才能使用Python是一种动态语言,不需要声明变量的类型,可以根据值的类型确定变量的类型赋值是一条语句,不是一个表达式,因此赋值不能当做表达式来运算。
力扣每日一题 6/7 2024-06-07 算法, leetcode, 职场和发展 118人 已看 这道题主要还是遍历+模拟+数组,题目要求前两个数字的和相等,那我们就可以储存刚开始的前两个值,去依次遍历后面的两个的值,然后求和判等,只要有不等的情况直接跳出循环,return结果即可。需要注意的是,这里循环开始前需要特殊情况判别,当长度等于1的时候直接return 0,等于2的时候直接return 1 ,否则的话进行下面的循环。下面是具体代码实现:
C++:红黑树 2024-06-06 算法, c++, 数据结构, 开发语言 108人 已看 /颜色enum colorRED,BLACK//红黑树节点的定义color _col;//构造函数,_kv(kv),_col(RED){}在节点的定义中,为什么要将节点的默认颜色给成红色的?新插入节点的颜色只会影响性质3或者性质4(新插入的节点不是根节点的时候),如果新插入的节点是黑色的节点,那么一定会破坏性质4,破坏性质4要想让红黑树平衡最坏的情况需要将整颗树的节点都动一遍,很难维护。
信息学奥赛初赛天天练-21-完善程序-动态规划、编辑距离与字符数组应用的极致探索 2024-06-06 算法, 动态规划, 代理模式 202人 已看 在动态规划中,通过把原问题分解为相对简单的子问题,先求解子问题,再由子问题的解而得到原问题的解。重叠子问题的存在,求解子问题时会出现多次重复求解子问题,动态规划的子问题存储,保证了重叠的子问题只计算1次存储,后续查询表格使用。最优子结构为求解原问题的解可以利用子问题的解的可能,无后效性,确保求解原问题最优解时子问题最优解一定可用。指的是在求解子问题的过程中,有大量的子问题是重复的,一个子问题在下一阶段的决策中可能会被多次用到。即一个问题的最优解可以通过子问题的最优解计算而来,这样就可以使用子问题的解。
Toxel 与 PCPC II 2024-05-30 算法, 深度优先, 图论 225人 已看 只想到了dfs写法,没想到怎么转成dp,还想着能不能用二维或多维来处理bug的个数,但感觉行不通。结果题解直接两重for循环解决了。感觉是先确定dp数组的含义?本题dp数组的含义是前i行debug的最短时间。
基础数学内容重构(后缀0个数) 2024-06-01 算法, 重构, 数据结构 232人 已看 我们知道,后缀0其实是由一个一个10乘上去的,所以我们需要搞清楚10是怎么来的,我们知道,像10,20,30这些已经很明确告诉我们有10的存在,那么还有呢?看上去比较复杂,但是通过化简我们可以知道以上式子就是求(n + 1)!,这里化简的过程就不展示了,比较基础。那么我们如何高效地求出后缀0的个数呢?这些数学内容相对比较基础,只要能够记住原理就可以非常熟练的用出来,但好像比赛上没什么用,毕竟太偏了,而且体型比较单一。
String类知识 2024-06-06 算法, java, 开发语言 49人 已看 StringBuilder和StringBuffer的使用需要创建对象,不像String类那样可以直接//会报错打印出来结果是:那么它们有什么不同呢?方法说明在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、double、float、int、long、Object、String、StringBuff的变量获取index位置的字符获取字符串的长度获取底层保存字符串空间总的大小扩容将index位置的字符设置为ch返回str第一次出现的位置。
leetcode数组和字符串笔记 2024-05-30 算法, 笔记, leetcode, 职场和发展 128人 已看 删除元素与插入元素的操作类似,当我们删除掉数组中的某个元素后,数组中会留下 空缺 的位置,而数组中的元素在内存中是连续的,这就使得后面的元素需对该位置进行 填补 操作。当数组的长度为 n 时,最坏情况下,我们删除第一个元素,共需要的步骤数为 1 + (n - 1) = n 步,其中,1 为删除操作,n - 1 为移动其余元素的步骤数。最坏情况下,搜索的元素为 "R",或者数组中不包含目标元素时,我们需要查找 n 次,n 为数组的长度,因此查找元素的时间复杂度为 O(N),N为数组的长度。
11-散列2 Hashing(浙大数据结构PTA习题) 2024-05-30 算法, 哈希算法, 数据结构 244人 已看 本题主要考察了哈希表的创建,要求采用除留取余法构造散列函数,以及采用平方探测法(只使用正数序列)解决散列冲突。
软设之排序算法对比 2024-06-03 算法, 排序算法 83人 已看 时间复杂度:平均情况O(nlog(2)n),基本有序最差是O(n^2)如果数据数目很大,应采用时间复杂度为O(nlog(2)n)的排序方法。时间复杂度:平均情况为O(n^2)。时间复杂度:平均情况O(n^1.3)时间复杂度:O(nlog(2)n)时间复杂度 O(nlog(2)n)时间复杂度:平均情况O(n^2)时间复杂度:O(d(n+rd))时间复杂度:O(n^2)空间复杂度:O(rd)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)