java
文章平均质量分 75
志起计算机编程
博主是一名毕业于中山大学软件工程专业,从事软件行业多年的IT工作者,热爱技术与分享,擅长java和大数据技术。平时喜欢羽毛球、游戏、动漫、剧本杀等。
展开
-
【牛客刷题】java编程笔试题(更新)
思路:用hashmap保存每个字符串的出现次数,每次输入一个字符串,判断该字符串是否在hashmap中,没有就插入value为1key为该字符串的值,存在则更新value+1。这里的有效序列定义为S中的每个字符在L中都存在,并且顺序一致,例如“ace”是“abcde”的有效序列,“aec”不是“abcde”的有效序列,但是ae是最长的有效序列,e是最后一个有效字符。如果匹配失败一次,则母串下标+1,继续匹配,当子串或母串下标超出长度则停止,输入记录的最后有序字符下标。............原创 2022-08-28 13:37:29 · 3689 阅读 · 0 评论 -
Spring Bean生命周期与循环依赖等源码学习笔记
前言最近通过看b站培训机构的Spring和SpringBoot源码教程视频学习Spring&SpringBoot的原理和思想,视频是以源码讲解的方式演示,这里分享一些关键点的笔记。概述 Spring的核心思想是IOC和AOP,IOC是控制反转,是将程序中需要用到的对象创建过程交给容器实现,让容器根据xml的配置实现对对象的创建和依赖注入。AOP是面向切面编程,是对一系列纵向请求做横向的拦截处理,Spring里面使用到AOP的地方主要是......原创 2022-05-26 00:41:21 · 254 阅读 · 0 评论 -
2022-01-10 SHEIN大数据java开发岗位
面试该岗位,主要问了以下几个问题:1、MapReduce 的shuffle过程回答:map线程数据首先会复制到一个环形缓冲区,在环形缓冲区中进行分区和排序,当环形缓冲区达到一个阈值时数据会溢写到磁盘,这个过程可能会有conbine操作,最终每个分区的数据生成一个数据已经排序的文件。之后是reduce的shuffle过程,reduce线程将磁盘中每个分区的数据复制到内存缓冲区,进行排序,按照key进行聚合,然后输出数据作为reduce线程的输入数据,经过reduce计算之后生成文件存放到hdfs上。原创 2022-01-10 20:48:48 · 911 阅读 · 0 评论 -
牛客网题目----两个链表的第一个公共节点
链表常用面试题原创 2021-12-23 23:45:51 · 338 阅读 · 0 评论 -
阿里巴巴java面试经验
前阵子面试了阿里巴巴java开发工程师的岗位,因为准备不充分一面就挂了,面试过后回顾了整个面试过程,记录了面试题目,基本包含了java开发相关的基础知识,在这里做一次分享。面试题目:1、hashmap get和put方法实现及扩容的过程 get方法:首先判断输入的key是否为空,如果为空,从hashmap数组下标为0的位置获取值返回如果不为空,根据key的值,从hashmap数组中获取对应的entry对象,判断这个对象是否为空,为空返回null,不为空返回对应的value值, 获取va.原创 2021-09-25 23:55:20 · 279 阅读 · 0 评论 -
LeetCode. 拿硬币
题目:桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。示例 1:输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。示例 2:输入:[2,3,10]输出:8限制:1 <= n <= 41 <= coins[i] <= 10思路:直接遍历优先拿两枚,最后剩下一枚原创 2020-11-30 22:26:05 · 243 阅读 · 0 评论 -
LeetCode.拥有最多糖果的孩子
题目:给你一个数组candies和一个整数extraCandies,其中candies[i]代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有 最多的糖果。注意,允许有多个孩子同时拥有 最多的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖...原创 2020-11-28 09:46:31 · 125 阅读 · 0 评论 -
LeetCode.查找重复的电子邮箱
题目:编写一个 SQL 查询,查找Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com || 3 | a@b.com |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+| Email |+---------+| a@b.com |+---------+说明:所有电子...原创 2020-11-11 22:49:00 · 341 阅读 · 0 评论 -
LeetCode.求解二叉树的深度
题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。提示:节点总数 <= 10000解题思路:解题思路有两种,一种是用递归求解,一种是用非递归求解。用递归,一颗二叉树的深度等于它的左子树和右子树的深度的最大值,根据此...原创 2020-11-08 19:36:01 · 180 阅读 · 0 评论 -
LeetCode.左旋转字符串
题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出:"cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出:"umghlrlose"限制:1 <= k < s.length <= 10000...原创 2020-11-04 23:00:22 · 212 阅读 · 0 评论 -
LeetCode.猜数字
题目:小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。示例 1:输入:guess = [1,2,3], answer = [1,2,3]输出:3解释:小A 每次都猜对了。示例 2:输入:guess = [2,2,3], answe..原创 2020-11-03 22:52:47 · 727 阅读 · 0 评论 -
LeetCode.返回倒数第 k 个节点
题目:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的 k保证是有效的。解题思路:题目要求返回链表倒数第k个节点,可以采用两步遍历的方法,即用两个指针遍历该链表,其中第一个指针比第二个指针快k-1的节点,之后两步指针同时遍历链表,当第一个指针到达链表的尾部,此时第二个指针所指的节点就是倒数第k个节点。代码如下:publ.原创 2020-11-02 22:53:30 · 220 阅读 · 0 评论 -
LeetCode.黑白方格画
题目:小扣注意到秋日市集上有一个创作黑白方格画的摊位。摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。画板上有 n * n 的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选行数、列数均可为 0。小扣希望最终的成品上需要有 k 个黑色格子,请返回小扣共有多少种涂色方案。注意:两个方案中任意一个相同位置的格子颜色不同,就视为不同的方案。示例 1:输入:n = 2, k = 2输出:4解释:一共有四种不同的方案:第一种方案:涂第一列;第二种方案:涂原创 2020-11-01 15:35:00 · 1094 阅读 · 2 评论 -
Mina框架实现最简单的服务端(二)
使用Mina框架实现最简单的服务端程序原创 2016-03-31 19:21:30 · 474 阅读 · 0 评论 -
Mina框架实现最简单的服务端(四)
使用Mina框架实现最简单的服务端程序原创 2016-03-31 19:24:40 · 405 阅读 · 0 评论 -
Mina框架实现最简单的服务端(五)
使用Mina框架实现最简单的服务端程序原创 2016-03-31 19:26:29 · 390 阅读 · 0 评论 -
Mina框架实现最简单的服务端(三)
使用Mina框架实现最简单的服务端程序原创 2016-03-31 19:22:47 · 410 阅读 · 0 评论 -
Mina框架实现最简单的服务端(一)
使用Mina框架实现最简单的服务端程序原创 2016-03-31 19:16:19 · 591 阅读 · 0 评论