
知识
文章平均质量分 89
KroneX
ACM退役选手,热爱优雅、高效、有创造力的技术,本博客记录题解,编程tips,计算机相关知识,心得等。
展开
-
【Java】面试代码题 手写 HashMap(参考 JDK7 拉链头插法实现)
这是一个参考 JDK7 实现的非常简单的 HashMap,只实现了最最基础的 get、put、remove、containsKey 方法。解决冲突用的是最简单的拉链法,hash 用的是 JDK 自带的 hashCode() 提供的值。这份代码主要面向面试时的手撕 HashMap,本文会逐一介绍每个部分的实现,最后会在文末给出所有代码。............原创 2022-06-02 20:11:22 · 766 阅读 · 0 评论 -
【Java】JDK 7 HashMap 头插法在并发情况下的成环问题
JDK 7 的 HashMap 解决冲突用的是拉链法,在拉链的时候用的是头插,每次在链表的头部插入新元素,这在并发的情况下可能产生环。原创 2022-06-02 16:48:31 · 1364 阅读 · 2 评论 -
【Java】代理模式(静态代理&动态代理)
CONTENT代理模式静态代理动态代理JDK 动态代理类(基于接口)CGLIB(基于类继承)Reference代理模式定义: 代理模式(Proxy Pattern),设计模式的一种,为其他对象提供一种代理以控制对这个对象的访问。用途:在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。使用代理对象可以在不修改目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。比如说在目标对象的某个方法执行前后可以增加一些自定义的操作。比喻原创 2022-05-28 19:47:32 · 408 阅读 · 0 评论 -
【Java】面试代码题 多线程
CONTENT1. 实现一个死锁2. 两个线程交替打印 0-1003. 三个线程交替打印,线程0打印零,线程1打印奇数,线程0打印0,线程2打印偶数 01020304 ...Reference1. 实现一个死锁思路:两个线程,两个Object A 和 B,线程一先获得 A 再获得 B,线程二先获得 B 再获得 A。为防止效果不明显,可以在 线程一获得 A 之后 sleep 一段时间,线程二获得 B 之后 sleep 一段时间。public class TwoThreadDeadLock { p原创 2022-05-19 16:07:20 · 559 阅读 · 0 评论 -
【leetcode】leetRepo histogram
{∣∣∣∣∣∣∣∣050100150200简单:50 + 一般:100 + 困难:150 + \def{\cGreen}{#52C41A}\def{\cOrange}{#F39C11}\def{\cYellow}{#FADB14}\def{\cRed}{#E74C3C}\def{\colorOfLine}{#A9A9A9}\def{\colorOfDivide}{#000000}\def{\colorOfName}{#000000}\原创 2020-09-07 10:08:05 · 95 阅读 · 0 评论 -
【Markdown】希腊字母表
大写小写中文名英文英语音标注音大写Markdown小写Markdown意义AAAα\alphaα阿尔法Alpha/'ælfə/A\alpha角度、系数、角加速度、第一个、电离度、转化率BBBβ\betaβ贝塔/毕塔Beta/'bi:tə/ 或 /'beɪtə/B\beta磁通系数、角度、系数Γ\GammaΓγ\gammaγ...转载 2019-08-18 21:57:54 · 16783 阅读 · 2 评论 -
计算几何 (POJ1127 、 )
计算几何1. 判断线段是否相交1. 判断线段是否相交在不需求出交点,只需判断两条线段是否相交,可以使用 1.快速排斥实验1.快速排斥实验1.快速排斥实验 和 2.跨立实验2.跨立实验2.跨立实验 解决。参考链接:https://blog.youkuaiyun.com/tengchongwei/article/details/72922056需要求出交点的情况可以先判断是否平行。如果不平行,求直线 L...原创 2018-10-08 23:04:36 · 283 阅读 · 0 评论 -
次短路
次短路概念:次短路是相对于最短路的,简单来说就是第二短的路径。方法: dijkstradijkstradijkstra 找最短路的同时,维护一个次短路数组(dist2[]dist2[]dist2[])。当 (到达目的节点的最短路) >>> (从队列中取出的值 + 当前点到目的点的距离)即 dist[v]>d+E[now][i]原创 2018-10-12 11:15:29 · 177 阅读 · 0 评论 -
Git learn
分布式版本控制系统 Git ----https://git-scm.com/一. 初始化(init),添加(add)到暂存区(stage),提交(commit)到版本库(master)二. 工作区,版本库 状态(status),和文件不同(diff)三. 在版本之间转换(reset), 历史提交记录,命令四. 丢弃修改的三种情况五. 删除(rm)六. github关联(remote...原创 2018-10-03 00:23:05 · 567 阅读 · 0 评论 -
数论小知识点总结
∑mi=1gcd(m,i)=∑d|md×ϕ(md)∑i=1mgcd(m,i)=∑d|md×ϕ(md)\sum_{i=1}^mgcd(m, i) = \sum_{d|m}d\times\phi(\frac{m}{d})证明:因为 gcd(m,i)gcd(m,i)gcd(m, i) 的结果只可能是 mmm 的因数,所以 iii 从 111 到 mmm 的 gcd(m,i)gcd(m,i)gcd...原创 2018-09-14 15:08:57 · 224 阅读 · 0 评论 -
容斥原理详解
翻译:vici@cust对容斥原理的描述容斥原理是一种重要的组合数学方法,可以让你求解任意大小的集合,或者计算复合事件的概率。描述 容斥原理可以描述如下: &转载 2018-06-01 21:15:14 · 812 阅读 · 0 评论 -
转载:如何快速转载优快云中的博客
转载声明: 来自https://blog.youkuaiyun.com/bolu1234/article/details/51867099 感谢作者的分享 前言 对于喜欢逛优快云的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想...转载 2018-05-08 01:17:47 · 198 阅读 · 0 评论 -
转载:全排列与next_permutation
转载声明: 来自https://blog.youkuaiyun.com/yingyujianmo/article/details/52046398 感谢作者的讲解 全排列是面试笔试过程中经常遇到的一个问题。对于练习过的同学来说,这个问题其实 不算一个难题,但是对于没有练习过的同学,或者说只是知道大致思路的同学来说, 要在短时...转载 2018-05-08 01:14:50 · 192 阅读 · 0 评论 -
C++ string数组注意事项
string : 经实践string数组,如string s[10100];,不能使用s[j][k] = ’ ‘;这种方法赋值。 具体原因未知。求教为什么?原创 2018-03-24 23:55:39 · 982 阅读 · 0 评论