PRELOADER

主页

10/8/2019 —— 

代码实现LRU缓存机制 思路:要实现LRU缓存机制要保证: O(1) 时间内完成如下操作:1.获取键 / 检查键是否存在2.设置键3.删除最先插入的键4.缓存满时,删除最近最久未用过的键 对于O(1)时间内完成检索键操作,很容易想到用Hash结构。这里我们可以用HashMap来存储数据。 对于条件4,我们需要找一个类似队列的结构来把最近最久未使用的和最近使用最多的键分别放到队列的两端,这样方便删、

展开全文

DFS回溯法解决N皇后问题思路:因为每一行有n个位置可放置皇后(不考虑合不合理),所以此问题可以抽象出一个n+1层(含根节点)的n叉树。然后对该树进行剪枝(DFS回溯)即可求出可行解。 手撸代码: 123456789101112131415161718192021222324252627282930313233343536373839404142import java.util.Arrays;im

展开全文

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210

展开全文

找出数组中唯一一个不重复的元素题目描述给定一个数组,数组中仅有一个元素出现一次,其他的元素都出现两次,找到这个只出现一次的元素。 12345678910111213141516171819202122232425/**找出数组中唯一一个不重复元素*/ #include<iostream>#include<vector>using namespace std;int Numb

展开全文

两句话搞定所有背包问题dp[ i+1 ][ j ]为当选择到第i+1件商品背包总容量为j时的最大价值。 1230—1背包:dp[ i+1 ][ j ] = max ( dp[ i ][ j ], dp[ i ][ j - ci ] + wi );完全背包:dp[ i+1 ][ j ] = max ( dp[ i ][ j ], dp[ i +1 ][ j - ci ] + wi );多重背包:可以

展开全文

进程同步之信号量机制锁机制的弊端有开锁和关锁原语,任何想进入临界区的进程都必须不停的循环检查锁的值,等待其变成0或者false。效率低下,浪费CPU资源。 P/V操作P操作: P(s):将信号量s的值减1,若结果小于0,则调用P(s)的进程被阻塞,并进入信号量s的阻塞队列;若结果大于等于0,则调用P(s)的进程继续执行。 V操作: V(s):将信号量s的值加1,若结果小于等于0,则调用V(s)的进

展开全文

IO和NIONIO简介NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。 IO与NIO对比 IO NIO 面向流 面向缓冲 阻塞IO 同步非阻塞IO 无 选择器 流与缓冲 Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何

展开全文

Java技术栈视频大全01、Java av4710378102、Spring av4710378103、Spring Mvc av4717683204、MyBatis av4722883005、Hibernate av4738248206、Spring Boot av4723013707、Spring Cloud av4722883008、Dubbo av4700914309、MySQL av47

展开全文