自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Carroll的博客

谦虚、勇敢且真诚待人做事;重基础,用心做技术。

  • 博客(68)
  • 资源 (9)
  • 收藏
  • 关注

原创 114. 二叉树展开为链表

class Solution { public void flatten(TreeNode root) { //左子树为 null,直接考虑下一个节点 while(root!=null){ if(root.left==null){ root = root.right; }else{...

2020-04-30 20:32:11 160

原创 461. 汉明距离

位运算class Solution { public int hammingDistance(int x, int y) { int xor = x^y; int count = 0; while(xor!=0){ if(xor%2==1){ count++; ...

2020-04-30 20:22:05 163

原创 103. 二叉树的锯齿形层次遍历

BFSclass Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> list = new ArrayList<>(); Queue<TreeNode&g...

2020-04-30 08:53:52 145

原创 75. 颜色分类

简单来看 ,这道题考察的就是排序算法。class Solution { /* 荷兰三色旗问题解 */ public void sortColors(int[] nums) { int p0 = 0, curr = 0; int p2 = nums.length - 1; while (curr <= p2) { if (nums[...

2020-04-28 21:51:23 169

原创 面试常问的六大排序算法(代码+动画图解)

文章目录选择排序插入排序希尔排序冒泡排序选择排序动画演示代码实现public class selectSort { public static void main(String[] args) { int[] nums = {1,5,6,2,3,4,7,8,9}; selectSort(nums); for (int n...

2020-04-27 18:47:24 1156 6

原创 结构型设计模式:代理模式(Proxy Pattern)

文章目录什么是动态代理?案例引出使用动态代理优化代码重点类和方法总结什么是动态代理?动态代理简单来说是:拦截对真实对象方法的直接访问,增强真实对象方法的功能动态代理详细来说是:代理类在程序运行时创建的代理对象被称为动态代理,也就是说,这种情况下,代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的。也就是说你想获取哪个对象的代理,动态代理就会动态...

2020-04-27 08:54:30 278

原创 8种单例设计模式

单例模式有八种方式:饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全,同步方法)懒汉式(线程安全,同步代码块)双重检查静态内部类枚举//饿汉式(静态变量)class Singleton { //1. 构造器私有化, 外部能new private Singleton() { } //2.本类内部创建对象实例 private f...

2020-04-27 08:52:49 217

原创 MongoDB入门学习

Mongo中的一些概念:SQL术语/概念MongoDB术语/概念解释databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary ke...

2020-04-27 08:51:09 165

原创 49. 字母异位词分组

class Solution { public List<List<String>> groupAnagrams(String[] strs) { if (strs == null || strs.length ==0) return new ArrayList<List<String>>(); Map&l...

2020-04-27 08:45:41 195

原创 【Redis】Redis缓存失效、雪崩、穿透、击穿、并发等难题解决方案

文章目录缓存失效缓存雪崩缓存穿透缓存击穿缓存并发热点key如何保证redis中的数据都是热点数据Redis到底是单线程还是多线程如何解决Redis缓存失效、雪崩、穿透、击穿、并发等5大难题???缓存失效出现场景:主要因素是高并发下,我们一般设定一个缓存的过期时间时。并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存...

2020-04-26 20:34:11 2566 4

原创 MySQL面试必备知识查缺补漏(一)

MySQL事务隔离级别怎么实现在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。MVCC的全称是“多版本并发控制”,类似于乐观锁的一种实现方式。这项技术使得InnoDB的事务隔离级别下执行一致性读操作有了保证。MVCC实现:InnoDB存储引擎默认在每行记录后面保存两个隐藏的列,用来保存记录的创建时间和删除时间。这...

2020-04-26 15:21:34 400

原创 215. 数组中的第K个最大元素

class Solution { public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[nums.length-k]; }}class Solution { public int findKthLargest(int[] nums, ...

2020-04-26 09:39:07 156

原创 328. 奇偶链表

class Solution { public ListNode oddEvenList(ListNode head) { if(head==null || head.next==null) return head; //o为奇数节点的尾结点,head为头结点 ListNode o = head; //p为偶数节点的头结点...

2020-04-25 22:01:03 118

原创 Java面试必备知识查缺补漏(一)

文章目录线程池的常用的参数和含义线程池的拒绝策略Java线程停止的几种方法和对比ThreadLocal原理ThreadLocal和Synchonized区别局部变量存在线程安全问题吗公平锁和非公平锁ReentrantLock和synchronized区别写再前面,希望大家在看下面的具体内容之前,对照目录依次询问自己是否清楚这个问题。看完之后,在对照我写的查看相关知识点。本人水平有限,有些地方写...

2020-04-25 18:33:47 461 2

原创 238. 除自身以外数组的乘积

暴力(不符合时间O(n)的时间复杂度)class Solution { public int[] productExceptSelf(int[] nums) { int[] res = new int[nums.length]; for(int i = 0;i < nums.length;i++){ int sum = ...

2020-04-24 21:52:43 188

原创 不会手写简单的RPC框架,敢说自己学过RPC?

RPC(Remote Proceduce Call 远程过程调用) 一般用来实现部署在不同机器上的系统之间的方法调用,使程序能够像访问本地系统资源一样,通过网络传输过去访问远端系统资源。基础概念远程调用分为本地调用端与远程服务端调用者根据服务接口获得对应的代理对象,然后直接调用接口的方法即可获得返回结果,可以实现像调用本地服务一样调用远程服务;本地调用端主要通过动态代理的方式来实现上...

2020-04-24 18:09:54 202 2

原创 230. 二叉搜索树中第K小的元素

class Solution { List<Integer> list = new ArrayList<>(); public int kthSmallest(TreeNode root, int k) { dfs(root); return list.get(k-1); } void dfs(TreeNo...

2020-04-23 22:21:58 114

原创 22. 括号生成

DFSclass Solution { List<String> list = new ArrayList<>(); public List<String> generateParenthesis(int n) { dfs(n,n,""); return list; } void dfs(i...

2020-04-23 21:54:01 166

原创 136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4位运算class Solution { public int singleNum...

2020-04-23 16:10:18 103

原创 一文深入浅出聊聊BIO、NIO和AIO

传统的IOBIO、NIO、AIO的区别以及传统的 Socket 实现(BIO)、NIO 的Socket 实现、AIO 的 Socket 实现。IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。

2020-04-22 21:59:30 599

原创 78. 子集

class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> list = new ArrayList<>(); list.add(new ArrayList<>()); ...

2020-04-22 08:32:00 153

原创 344. 反转字符串

异或运算交换两个值 a = a^b b = a^ba = a^bb = 原来的aa = 原来的b位运算 + 双指针class Solution { public void reverseString(char[] s) { int l = 0,r = s.length-1; while(l<r){ s[l] ...

2020-04-21 21:28:06 155

原创 面试题06. 从尾到头打印链表

利用栈的特点,先进后出class Solution { public int[] reversePrint(ListNode head) { Stack<Integer> stack = new Stack<>(); while(head != null){ stack.push(head.val);...

2020-04-21 20:47:13 150

原创 409. 最长回文串

数组计数class Solution { public int longestPalindrome(String s) { int[] cnt = new int[58]; for(char c:s.toCharArray()){ cnt[c-'A'] += 1; } int ans = 0...

2020-04-20 20:35:21 171

原创 深入理解Java锁升级:无锁 → 偏向锁 → 轻量级锁 → 重量级锁

JDK1.6为了减少获得锁和释放锁所带来的性能消耗,引入了“偏向锁”和“轻量级锁”,所以在JDK1.6里锁一共有四种状态,无锁状态,偏向锁状态,轻量级锁状态和重量级锁状态,它会随着竞争情况逐渐升级。锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。

2020-04-18 15:30:14 11929 11

原创 HashMap的前世今生(从JDK1.7到JDK1.8)

我们都知道HashMap是线程不安全的,在多线程的环境下不建议使用它。那么,它到底是哪里线程不安全呢?HashMap在JDK1.7和1.8做了很多改变,你都知道吗?

2020-04-18 14:34:33 605

原创 Spring事务和数据库事务的藕断丝连

Spring事务和数据库事务的区别和联系你都知道吗?它们两者之间的联系你都清楚吗?通过这篇文章,希望可以让你茅塞顿开...

2020-04-18 09:54:17 267

原创 64. 最小路径和

class Solution { public int minPathSum(int[][] grid) { int m = grid.length,n = grid[0].length; int[][] dp = new int[m][n];//到对应(m,n)位置的最小值 dp[0][0] = grid[0][0]; f...

2020-04-17 21:02:43 108

原创 107. 二叉树的层次遍历 II

这道题主要要注意LinkedList 和 ArrayList 的区别,以及LinkedList 特有的方法运用。class Solution { public List<List<Integer>> levelOrderBottom(TreeNode root) { LinkedList<List<Integer>> ...

2020-04-16 21:55:38 144

原创 125. 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falseclass Solution { public boolean isPali...

2020-04-16 21:33:23 108

原创 83. 删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3//迭代class Solution { public ListNode deleteDuplicates(ListNode...

2020-04-14 21:26:56 112

原创 一文总结Java I/O流基础知识

本文主要总结了Java的File类 ,字节流,字符流,缓冲流等基础知识,适合初学者来初步入门,也适合Java大佬们用来复习基础知识。

2020-04-14 14:15:20 206

原创 67. 二进制求和

给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.leng...

2020-04-13 20:40:05 104

原创 66. 加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 ...

2020-04-13 20:24:27 100

原创 38. 外观数列

*「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2", "one 1" ("一个二" , ...

2020-04-13 20:11:33 162

原创 35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 7输出: 4示例 3:输入: [1,3,5,6], 0输出: 0二分法class Solution ...

2020-04-12 20:54:46 86

原创 21. 合并两个有序链表

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4递归class Solution { public ListNode mergeTwoLists(ListNode l1, List...

2020-04-12 20:14:49 103

原创 Spring的这些常见面试题,你都知道吗?

文章目录BeanFactory 和 ApplicationContext 有什么区别Spring Bean 的生命周期Spring IOC 如何实现说说 Spring AOPSpring AOP 实现原理动态代理(CGLIB 与 JDK)Spring 事务实现方式Spring 事务底层原理如何自定义注解实现功能Spring MVC 运行流程Spring MVC 启动流程Spring 的单例实现原理...

2020-04-12 17:38:56 469

原创 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。class Solution {...

2020-04-11 21:50:45 91

原创 389. 找不同

给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:‘e’ 是那个被添加的字母。ASCII码运算class Solution { public char findTheDifference(Str...

2020-04-10 20:39:14 120

15856_eec3d8ce85-背包问题知识框架图.png

背包问题知识框架图。背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?

2020-05-11

新型肺炎实战.zip

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

天池工业蒸汽.zip

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

少年的你评论数据分析.zip

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

金融反欺诈实战.zip

金融反欺诈实战。通过数据分析,锻炼自己的机器学习的能力和数据分析的能力。数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

国庆档电影数据分析.zip

国庆档电影数据分析。国庆档首日票房达7.96亿元,达同档期最高纪录;10月1日-10月7日期间,中国电影市场累计票房产出为43.86亿元,同比增长130.36%,打破了2017年26.29亿元的国庆档票房纪录,成为中国电影产业化改革以来,票房最高的国庆档。此外2019年国庆档仅用三天时间,就打破了2018年七天的票房纪录,算入9月30日票房,票房达到50.52亿,助推2019年年度票房实现同比反超。

2020-04-06

git常用命令.txt

Git常用命令总结。我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,只支离破碎地介绍Git的某几个命令,还有直接从Git手册粘贴帮助文档的,学完后能立刻上手的Git教程。

2020-04-06

Spring-AOP.zip

spring aop的具体实现与理论.AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。

2020-04-06

mantisbt-2.24.0.tar.gz

Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。

2020-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除