忧郁的叮当猫
忧郁的叮当猫
全部文章
算法
java(1)
Java基础(11)
JVM(2)
mysql(1)
Springboot(2)
windows(1)
二叉树(1)
底层(1)
未归档(1)
程序人生(1)
笔试(2)
缓存(1)
随笔(1)
面经(27)
项目(5)
题解(1)
归档
标签
去牛客网
登录
/
注册
Superhero
Still beating,keep trying.
全部文章
/ 算法
(共9篇)
红黑树详解
查找算法有哪些? 暴力:遍历for 二分:能做二分查找的条件:有序 哈希:最高效O(1),hash冲突,JDK1.8里面HashMap:数组+链表+红黑树(处理Hash冲突的) 插值: 索引: bfs&dfs: 平衡树: B+树: B-Tree: 红黑树:高效的查找算法数据结构 二叉搜索...
2021-10-20
0
769
排序算法合集
快速排序 我们可以把快速排序看着三个步骤: 1.选择基准值:在待排序列中,按照某种方式挑出一个元素,作为基准值。 2.分割操作:以该基准值在序列中的实际位置,把序列分成两个子序列,一边是比它大的值,另外一边是比它小的值。 3.递归:对两个子序列进行快排,直到序列为空或者只有一个元素。 过程演示...
2021-10-20
0
532
力扣刷题第一天
1.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 代码 class Solution { public int single...
2021-10-20
0
425
LRU算法详解
概念理解 1.LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU算法就是将最近最久未使用的页面予...
2021-10-20
0
1247
输入一个表示整数的字符串,把该字符串转换成整数
思路: 从左至右扫描字符串中的每个字符,把之前扫描得到的数字乘以10,再加上当前字符表示的数字。 注意要点: (1)最好判断一下输入是否为空。 (2)如果字符串的第一个字符是‘-’号,最终得到的整数必为负整数。 (3)输入的字符串中不能含有不是数字的字符。 (4)输入的字符串不能太长,否...
2021-10-20
0
774
LFU算法详解
LFU算法:least frequently used,最近最不经常使用算法 对于每个条目,维护其使用次数 cnt、最近使用时间 time。 cache容量为 n,即最多存储n个条目。 那么当我需要插入新条目并且cache已经满了的时候,需要删除一个之前的条目。删除的策略是:优先删除使用次数c...
2021-10-20
0
1393
秋招算法笔试题汇总
题一: 你需要编写一个程序来模拟目录的操作,一开始,你在根目录"\",一共有两种命令: ● cd s: s为一个目录名,表示从当前工作目录的路径进入名为s的目录。特别地,"cd .."(即s=="..")表示返回上一级目录,若当前已为根...
2021-10-20
0
573
八大排序算法的时间复杂度和稳定性
1、稳定性 归并排序、冒泡排序、插入排序。基数排序是稳定的 选择排序、快速排序、希尔排序、堆排序是不稳定的 2、时间复杂度 最基础的四个算法:冒泡、选择、插入、快排中,快排的时间复杂度最小O(nlogn),其他都是O(n2) 排序法 平均时间 最差情形 ...
2021-10-20
0
2268
全排列算法的理解与实现(递归+字典序)
一、全排列的概念 排列: 从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m个元素的一个排列。不同的顺序是一个不同的排列。从n个元素中取m个元素的所有排列的个数,称为排列数。 全排列: 从n个元素取出n个元素的一个排列,称为一个全排列。全排列的排...
2021-10-20
0
1286