自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 问答 (1)
  • 收藏
  • 关注

原创 Leetcode刷题java之36. 有效的数独(一天一道编程题之四十一天)

执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了95.75% 的用户内存消耗 :40 MB, 在所有 Java 提交中击败了98.25%的用户题目:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1...

2020-03-31 20:21:12 290

原创 Leetcode刷题java之23. 合并K个排序链表(一天一道编程题之四十天)(优先队列)

执行结果:通过显示详情执行用时 :5 ms, 在所有 Java 提交中击败了62.48% 的用户内存消耗 :41.8 MB, 在所有 Java 提交中击败了55.30%的用户题目:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: ...

2020-03-31 18:51:47 230

原创 Leetcode刷题java之10. 正则表达式匹配(一天一道编程题之三十九天)(回溯法和动态规划法)

执行结果:通过显示详情执行用时 :81 ms, 在所有 Java 提交中击败了27.43% 的用户内存消耗 :40.4 MB, 在所有 Java 提交中击败了24.44%的用户题目:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵...

2020-03-31 16:38:28 363

原创 Leetcode刷题java之4. 寻找两个有序数组的中位数(一天一道编程题之三十八天)

执行结果:通过显示详情执行用时 :3 ms, 在所有 Java 提交中击败了84.62% 的用户内存消耗 :41.1 MB, 在所有 Java 提交中击败了98.28%的用户题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nu...

2020-03-31 14:13:44 209

原创 Leetcode刷题java之242. 有效的字母异位词(一天一道编程题之三十七天)

执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了99.94% 的用户内存消耗 :39.5 MB, 在所有 Java 提交中击败了5.08%的用户题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:...

2020-03-31 11:21:55 219

原创 Leetcode刷题java之341. 扁平化嵌套列表迭代器(一天一道编程题之三十六天)

执行结果:通过显示详情执行用时 :4 ms, 在所有 Java 提交中击败了68.89% 的用户内存消耗 :42.1 MB, 在所有 Java 提交中击败了5.68%的用户题目:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:...

2020-03-31 11:00:29 270

原创 Leetcode刷题java之380. 常数时间插入、删除和获取随机元素(一天一道编程题之三十五天)

执行结果:通过显示详情执行用时 :12 ms, 在所有 Java 提交中击败了97.16% 的用户内存消耗 :45.2 MB, 在所有 Java 提交中击败了69.40%的用户题目:设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 v...

2020-03-31 10:14:06 238

原创 Leetcode刷题java之412. Fizz Buzz(一天一道编程题之三十四天)

执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :41.8 MB, 在所有 Java 提交中击败了5.08%的用户题目:写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果 n 是3的倍数,输出“Fizz”;2. 如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “...

2020-03-30 18:45:12 232

原创 Leetcode刷题java之146. LRU缓存机制(一天一道编程题之三十三天)

执行结果:通过显示详情执行用时 :29 ms, 在所有 Java 提交中击败了41.46% 的用户内存消耗 :53.5 MB, 在所有 Java 提交中击败了71.48%的用户题目:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (ke...

2020-03-30 16:10:42 273

原创 java面经查缺补漏之三十二天(java与C++的区别,java与python的一些区别)

一、指针Java 没有指针的概念。在 C/C++中,指针操作内存时,经常会出现错误。而在Java中是没有指针这一概念的,因此也有效地防止了一系列由指针引起的操作层失误(如指针悬空所造成的系统崩溃),更有利于 Java 程序的安全。二、多重继承Java不支持多重继承。多重继承,它允许多父类派生一个子类。也就是说,一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦...

2020-03-24 15:12:16 250

原创 Leetcode刷题java之395. 至少有K个重复字符的最长子串(一天一道编程题之三十二天)

执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了78.25% 的用户内存消耗 :37.7 MB, 在所有 Java 提交中击败了8.10%的用户题目:找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入:s = "aaabb", k = 3输出:3...

2020-03-24 11:28:05 338

原创 java面经查缺补漏之三十一天(今天来学习网络编程,如何学习网络编程)

网络编程,本来想学java网络编程这本书,不过看了一点之后感觉这本书写得不太好,豆瓣评分也不是很高,所以计划以博客的方式学习吧。1.首先来看一下网络编程的概况,如何学习网络编程?...

2020-03-23 20:42:35 216

原创 Leetcode刷题java之227. 基本计算器 II(一天一道编程题之三十一天)

执行结果:通过显示详情执行用时 :11 ms, 在所有 Java 提交中击败了90.36% 的用户内存消耗 :42 MB, 在所有 Java 提交中击败了41.99%的用户题目:实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输...

2020-03-23 10:01:30 312

原创 java面经查缺补漏之三十天(继续学习查询优化)

相比于数据库索引优化,查询优化更加复杂,受mysql版本的限制,以及具体情况的限制,有时候要具体问题具体分析,用explain去分析解释语句。1.数据库汇总,相关的指令与关键字?参考:https://blog.csdn.net/qq_37969433/article/details/102637226?depth_1-utm_source=distribute.pc_relevant...

2020-03-22 19:32:43 540

原创 Leetcode刷题java之334. 递增的三元子序列(一天一道编程题之三十天)

执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :39 MB, 在所有 Java 提交中击败了30.74%的用户题目:给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下:如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 ...

2020-03-22 09:31:22 238

原创 java面经查缺补漏之二十九天(数据库索引还没啃完,继续学习,然后再学习一些查询优化策略)

上一篇:https://blog.csdn.net/qq_41901915/article/details/1049725551.高性能的索引策略之聚簇索引(主键索引)?聚簇索引不仅是一种索引类型,也是一种数据存储方式。叶子页包含了行的全部数据,但节点页只包含了索引列。简单的来说就是通过主键来聚集数据,innodb就是这么做的,如果你没有设置,它会选择一种隐示主键的方式。...

2020-03-21 21:07:07 230 1

原创 Leetcode刷题java之289. 生命游戏(一天一道编程题之二十九天)

执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :38.1 MB, 在所有 Java 提交中击败了5.03%的用户题目:根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 ...

2020-03-21 13:28:17 277

原创 java面经查缺补漏之二十八天(上一次数据库的索引被问住了,今天再来啃一啃数据库索引)

上一次数据库的索引被问住了,今天再来啃一啃数据库索引1.数据库索引的优点?(1)减少了服务器需要扫描的数据量。(2)可以帮助服务器避免排序,因为它已经排序好了。(3)叶子节点包含所有信息,是一个链表,支持范围查找。(4)将随机IO变成了顺序IO。2.高性能的索引策略之独立的列?索引列不能是表达式的一部分。例子:SELECT actor_id from actor W...

2020-03-19 18:20:47 210

原创 java面经查缺补漏之二十七天(今天来仔细学习一下http)

今天来查一下http的知识点。1.请求报文和响应报文是什么样子的?请求报文包含三部分:a、请求行:包含请求方法、URI、HTTP版本信息b、请求首部字段c、请求内容实体响应报文包含三部分:a、状态行:包含HTTP版本、状态码、状态码的原因短语b、响应首部字段c、响应内容实体2.常见的http方法有哪些?GET: 用于请求访问已经被URI(统一资源标识符)识别...

2020-03-19 13:28:33 223

原创 Leetcode刷题java之328. 奇偶链表(一天一道编程题之二十八天)

执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :40.9 MB, 在所有 Java 提交中击败了5.23%的用户题目:328. 奇偶链表难度中等143给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算...

2020-03-19 12:02:26 248

原创 java面经查缺补漏之二十六天(今天再来查一下java并发方面的问题)

1.为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?调用 start 方法方可启动线程并使线程进入就绪状态,而 run 方法只是 thread 的一个普通方法调用,还是在主线程里执行。2.java线程的生命周期和状态?在这之前我一直以为只有5中状态,然后突然有一次看到了别人的6种状态,感觉莫名其妙的。然后查了查资料,才发现Tre...

2020-03-18 20:30:17 218

原创 java面经查缺补漏之二十六天(今天来扫一扫java虚拟机的一些盲点)

1.JVM的三大调优参数?-Xss规定了每个线程堆栈的大小,也就是虚拟机栈。一般情况下256K是足够了。影响了此进程中并发线程数大小。-Xms初始的Heap的大小。-Xmx最大Heap的大小。2.什么是G1收集器?堆被分为新生代和老年代,其它收集器进行收集的范围都是整个新生代或者老年代,而 G1 可以直接对新生代和老年代一起回收。3. minor GC的触发条件?对于 ...

2020-03-18 18:36:55 194

原创 java面经查缺补漏之二十五天(还有很多东西需要学啊,今天来学一下linux面试的一些知识点)

还有很多东西需要学啊,今天来学一下linux面试的一些知识点,主要是一些常用的命令。本来我以为这个地方不会问的,但是常用的命令还是要会的,要记忆的。1.--help?指令的基本用法与选项介绍2.who?在关机前需要先使用 who 命令查看有没有其它用户在线。3.shutdown?关机操作。分为警告,关机,重启和取消。4.sudo?sudo 允许一般用户使用...

2020-03-18 16:39:07 221

原创 Leetcode刷题java之387. 字符串中的第一个唯一字符(一天一道编程题之二十七天)

执行结果:通过显示详情执行用时 :34 ms, 在所有 Java 提交中击败了52.29% 的用户内存消耗 :42 MB, 在所有 Java 提交中击败了5.06%的用户题目:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2....

2020-03-18 09:52:47 181

原创 java面经查缺补漏之二十四天(调整心态,继续前行)

调整心态,继续前行,不断发现自己的不足。1.Linux查看端口号的指令?经常会发现,很多时候我们在运行一些带有端口的程序时,程序经常会报端口被占用的问题,比如Tomcat 8080,端口起不来。如果发现某个端口被占用后,可以用命令查看,该端口到底是被哪个进程所占用。命令如下:netstat -pan | grep 5623#其中5623位端口号结果出现:发现5623的端口,被...

2020-03-17 18:36:53 227

原创 java面经查缺补漏之二十三天(今天一定要把ConcurrentHashMap学会)

今天一定要把ConcurrentHashMap学会!!!参考:https://blog.csdn.net/Bill_Xiang_/article/details/81122044?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task一些要点问题:...

2020-03-17 13:21:54 276

原创 Leetcode刷题java之384. 打乱数组(一天一道编程题之二十六天)

执行结果:通过显示详情执行用时 :103 ms, 在所有 Java 提交中击败了72.20% 的用户内存消耗 :51.3 MB, 在所有 Java 提交中击败了99.22%的用户题目:打乱一个没有重复元素的数组。示例:// 以数字集合 1, 2 和 3 初始化数组。int[] nums = {1,2,3};Solution solution = new Solu...

2020-03-17 09:50:45 242

原创 java查缺补漏之二十二天(今天来复习spring)

1.Spring中IOC的理解?IOC就是控制反转,是指创建对象的控制权的转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中,并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。最直观的表达就是,IOC让对象的创建不用去new了,可以由spring自动生产,使用java的反射机制,根据配置文件在运行时...

2020-03-16 16:26:41 284

原创 java查缺补漏之二十一天(今天来复习springmvc)

今天来复习springmvc表现层,业务层,dao层。1.什么是Spring MVC ?简单介绍下你对springMVC的理解?SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦。2.SpringMVC的流程? (1)用户发送请求至前端控制器Dispatche...

2020-03-16 12:18:16 207

原创 java查缺补漏之二十天(还有机会,加油)

还有机会,提高自己,增加面试经验,加油!今天继续学习mybatis1.通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?Dao接口即Mapper接口。接口的全限名,就是映射文件中的namespace的值;接口的方法名,就是映射文件中Mapper的Statement的id值;接口方法内的参数,就是传递...

2020-03-16 11:15:08 190

原创 Leetcode刷题java之378. 有序矩阵中第K小的元素(一天一道编程题之二十五天)

执行结果:通过显示详情执行用时 :22 ms, 在所有 Java 提交中击败了33.63% 的用户内存消耗 :46.1 MB, 在所有 Java 提交中击败了6.18%的用户题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [ [ 1, 5, ...

2020-03-16 09:49:34 230

原创 java查缺补漏之第十九天(字节跳动和腾讯挂了,幸好时间还够,不断进步,不断充实,今天来学习mybatis)

前几天面试的字节跳动和腾讯挂了,其实真的挺打击人的,自认为已经学了很多了,可还是不够深刻啊,幸好时间还够,继续努力吧,少年!失败总结:自我介绍太短,太随意,本来一个加分的点,却成了扣分的点。说话和语言表达缺少一些自信,少了一点热情和朝气。有些技术点还是不够深刻,要继续努力学习。加油吧!参考:https://blog.csdn.net/a745233700/article/d...

2020-03-15 17:33:09 239

原创 Leetcode刷题java之二叉树的前序中序后续遍历非递归实现(一天一道编程题之二十四天)

前序遍历/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { ...

2020-03-15 10:49:31 305

原创 java查缺补漏之第十八天(努力)

tcp三次握手,四次握手,hashmap,红黑树还要学习的更细致一点。1.sleep和wait的区别,sleep(100)实际上是睡眠多长时间。sleep是线程中的方法,但是wait是Object中的方法。sleep方法不会释放lock,但是wait会释放,而且会加入到等待队列中。这一条说的是睡眠十秒和等待十秒的区别,sleep的时候其他线程是不可以进来的,但是等待十秒的时候,其...

2020-03-14 10:28:00 241

原创 java查缺补漏之171. Excel表列序号(一天一道编程题之二十三天)

执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :38.2 MB, 在所有 Java 提交中击败了5.40%的用户题目:给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26...

2020-03-14 08:53:30 237

原创 2020暑期实习腾讯一面面经(java后端开发)

一面是电话面试,面试官很和蔼,面试知识点很全面。1.自我介绍2.问项目,这个可能就是和你相关的项目了。3.hashmap一个大点,hash冲突的解决办法,底层原理,是头插法还是尾插法,扩容 原理,然后由jdk1.8的链表转红黑树,引申到了红黑树,红黑树的特点,变色,左旋,右旋怎么实现的,插入和删除是怎么实现的。(这一点真的是总考啊)4.tcp和udp的区别以及应用场景。5.t...

2020-03-13 21:12:35 1514

原创 java查缺补漏之第十七天(加油)

1.非递归实现树前中后遍历。2.什么时候用字符流,什么时候用字节流。字节流和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图所示。在关闭字符流时会强制性地将缓冲区中的内容进行输出,但是如果程序没有关闭,则缓冲区中的内容是无法输出的。...

2020-03-13 18:21:06 137

原创 Leetcode刷题java之202. 快乐数(一天一道编程题之二十二天)

执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了63.52% 的用户内存消耗 :36.8 MB, 在所有 Java 提交中击败了5.24%的用户题目:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1...

2020-03-13 09:39:53 313

原创 2020字节跳动暑期实习一面面经(java后端开发)

已经过去一周了,本来面试官说一周之内有结果,都一周了不知道什么情况,感觉答得还不错啊,啊啊啊啊啊啊,怎么回事,哎,不谈了,说面经。首先时自我介绍,然后开始问问题。1.tcp三次握手和四次握手?2.jvm的垃圾收集机制?3.什么时候进行垃圾收集?4.varchar了解吗?(数据库)5.8大排序算法?主要问了快速排序,最坏的情况什么的?6.leetcode算法题,给一个数组...

2020-03-12 19:44:45 1412

原创 java查缺补漏之第十六天(面试是真的难啊,还需继续努力)

1.sql查询优化?查询要精确,不要检索大量超过需要的数据。重构查询,将大的查询切分成小的查询,有时效果会更好。比如:删除旧的数据就是一个很好的例子,如果一次性完成的话,很可能需要一次性锁住很多的数据,占用整个事务日志,耗尽系统资源,阻塞很多小但重要的查询。分解关联查询,缓存的效率更好,执行单个查询可以减少锁的竞争。2.什么是线程封闭?当访问共享的可变的数据时,通常需要使...

2020-03-12 19:33:16 253

空空如也

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

TA关注的人

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