自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 收藏
  • 关注

原创 类的加载过程

主要分为三个阶段:1. 加载(Loading) 该阶段主要生成了class对象2. 链接(Linking)3. 初始化

2020-10-30 20:28:46 203

原创 JAVA 对HashMap进行排序

题目要求:现有有一个HashMap,存储了<key: Integer,value:User(name,age)>的值,要求写一个函数,实现传入一个HashMap,返回一个按照要求排好序的hashmap的功能。(此处要求按年龄降序)import java.util.*;import java.util.Map.Entry;public class Main{ public static void main(String[] args) { HashMap<Integer,

2020-06-28 15:31:31 775

原创 腾讯2017暑期实习生编程题 JAVA题解

1.构造回文给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子1:abcdagoogle输出例子1:2...

2020-04-26 19:11:13 346

原创 常见排序算法 JAVA代码

一:冒泡排序算法描述: 首先从数组的第一个元素开始到数组最后一个元素为止,对数组中相邻的两个元素进行比较,如果位于数组左端的元素大于数组右端的元素,则交换这两个元素在数组中的位置,此时数组最右端的元素即为该数组中所有元素的最大值。接着对该数组剩下的n-1个元素进行冒泡排序,直到整个数组有序排列。算法的时间复杂度为O(n^2)。是一个稳定的算法。//冒泡排序 遇到比自己...

2020-04-25 14:54:17 190

原创 腾讯2020校招笔试题 视野争夺 JAVA题解

视野争夺小Q在进行一场竞技游戏,这场游戏的胜负关键就在于能否能争夺一条长度为L的河道,即可以看作是[0,L]的一条数轴。这款竞技游戏当中有n个可以提供视野的道具−真视守卫,第i个真视守卫能够覆盖区间[xi,yi]。现在小Q想知道至少用几个真视守卫就可以覆盖整段河道。输入描述:输入包括n+1行。第一行包括两个正整数n和L(1<=n<=105,1<=L<=...

2020-04-22 16:07:58 1009

原创 腾讯2020校招笔试题 逛街 JAVA题解

逛街小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住)输入描述:输入第一行将包含一个数字n,代表楼的栋数,接下来的一行将包含n个数字wi(1<=i<=n),代表每一...

2020-04-22 14:10:13 1054

原创 等差数列 蓝桥杯

数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中NN个整数。现在给出这NN个整数,小明想知道包含这NN个整数的最短的等差数列有几项?输入格式输入的第一行包含一个整数NN。第二行包含N 个整数A1,A2,⋅⋅⋅,AN(注意A1∼AN并不一定是按等差数列中的顺序给出)输出格式输出一个整数表示答案。数据范围2...

2020-02-10 15:41:04 902

原创 日志统计 JAVA

小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有NN行。其中每一行的格式是:ts id 表示在tsts时刻编号idid的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为DD的时间段内收到不少于KK个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻TT满足该帖在[T,T+D...

2020-01-31 22:22:05 927

原创 线段树区间最大值 JAVA

输入输出较大,使用了BufferedReader和PrintWriter(记得最后用.flush) !!输入一串数字,给你MM个询问,每次询问就给你两个数字X,YX,Y,要求你说出XX到YY这段区间内的最大数。输入格式第一行两个整数N,MN,M表示数字的个数和要询问的次数;接下来一行为NN个数;接下来MM行,每行都有两个整数X,YX,Y。输出格式...

2020-01-31 21:03:06 698

原创 全球变暖 DFS(JAVA解法)

你有一张某海域N×NN×N像素的照片,”.”表示海洋、”#”表示陆地,如下所示:........##.....##........##...####....###........其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有22座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一...

2020-01-28 18:05:13 537

原创 红与黑 DFS(JAVA解法)

有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式输入包括多个数据集合。每个数据集合的第一行是两个整数WW和HH,分别表示xx方向和yy方向瓷砖的数量。在接下来的HH行中,每行包括WW个字符。每个字符表示一块瓷砖...

2020-01-28 13:44:28 928 1

原创 地牢大师 BFS(JAVA解法)

你现在被困在一个三维地牢中,需要找到最快脱离的出路!地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过。向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟。你不能沿对角线移动,迷宫边界都是坚硬的岩石,你不能走出边界范围。请问,你有可能逃脱吗?如果可以,需要多长时间?输入格式输入包含多组测试数据。每组数据第一行包含三个整...

2020-01-27 21:52:18 219

原创 树状数组与线段树模板 JAVA

Acwing1264 动态求连续区间和给定nn个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列[a,b][a,b]的连续和。输入格式第一行包含两个整数nn和mm,分别表示数的个数和操作次数。第二行包含nn个整数,表示完整数列。接下来mm行,每行包含三个整数k,a,bk,a,b(k=0k=0,表示求子数列[a,b][a,b]的和;k=1...

2020-01-18 00:30:17 468

原创 移动距离 JAVA题解

X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为66时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号mm和nn,需要求出它们之间的最短移动距离(不能斜线方向移动)...

2020-01-17 12:41:31 385 2

原创 回文日期 JAVA题解

在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月份,最后 2 位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现在,牛牛想知道:在他指定的两个日期之间(包含这两个日期本身),有多少个...

2020-01-16 01:13:45 2136 3

原创 完全二叉树的权值

给定一棵包含NN个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是A1,A2,⋅⋅⋅ANA1,A2,···AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是11。输入格式第一行包含一个整数NN。第二行包含NN个整数...

2020-01-15 22:50:53 1018

原创 献给阿尔吉侬的花束 BFS(JAVA题解)

阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。迷宫用一个R×CR×C的字符矩阵来表示。字符 S 表示阿尔吉侬所在的位置,字符 E 表示奶酪所在的位置,字符 # 表示墙壁,字符 . ...

2020-01-13 20:38:50 454

原创 交换瓶子 贪心

有NN个瓶子,编号1∼N1∼N,放在架子上。比如有55个瓶子:2 1 3 5 4要求每次拿起22个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换22次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式第一行包含一个整数NN,表示瓶子数量。第二行包含NN个整...

2020-01-13 19:42:02 192

原创 饮料换购

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的nn瓶饮料,最后他一共能喝到多少瓶饮料。输入格式输入一个整数nn,表示初始买入的饮料数量。输出格式输出一个整数,表示一共能够喝到的饮料数量。数据范围0<n&l...

2020-01-13 14:43:30 143

原创 K倍区间

给定一个长度为NN的数列,A1,A2,…ANA1,A2,…AN,如果其中一段连续的子序列Ai,Ai+1,…AjAi,Ai+1,…Aj之和是KK的倍数,我们就称这个区间[i,j][i,j]是KK倍区间。你能求出数列中总共有多少个KK倍区间吗?输入格式第一行包含两个整数NN和KK。以下NN行每行包含一个整数AiAi。输出格式输出一个整数,代表...

2020-01-13 13:40:24 187

原创 激光炸弹(二维前缀和)JAVA题解

一种新型的激光炸弹,可以摧毁一个边长为RR的正方形内的所有的目标。现在地图上有NN个目标,用整数Xi,YiXi,Yi表示目标在地图上的位置,每个目标都有一个价值WiWi。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个边长为RR的正方形的边必须和x,yx,y轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。求一颗炸弹最多能炸掉地图上总价值为多少...

2020-01-12 23:26:54 194

原创 分巧克力(二分) JAVA题解

儿童节那天有KK位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有NN块巧克力,其中第ii块是Hi×WiHi×Wi的方格组成的长方形。为了公平起见,小明需要从这NN块巧克力中切出KK块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数 大小相同例如一块6×56×5的巧克力可以切出66块2×22×2的巧克力...

2020-01-12 21:05:09 526

原创 四平方和 JAVA题解

四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多44个正整数的平方和。如果把00包括进去,就正好可以表示为44个数的平方和。比如:5=02+02+12+225=02+02+12+227=12+12+12+227=12+12+12+22对于一个给定的正整数,可能存在多种平方和的表示法。要求你对44个数排序:0≤a≤b≤c≤d0≤a≤b≤c≤d...

2020-01-12 18:20:30 661

原创 机器人跳跃问题 JAVA题解

机器人正在玩一个古老的基于DOS的游戏。游戏中有N+1座建筑——从0到N编号,从左到右排列。编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。起初,机器人在编号为0的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。如果H(k+1)>E,那么机器人就失去H(k+1)-E的能量值,否...

2020-01-12 17:02:23 415

原创 课程表II 拓扑排序JAVA

现在你总共有 n 门课需要选,记为0到n-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例1:输入: 2, [[1,0]]...

2020-01-11 22:59:38 256

原创 课程表I 拓扑排序JAVA

现在你总共有 n 门课需要选,记为0到n-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的...

2020-01-11 22:12:32 226

原创 前缀和 JAVA

输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。输出格式共m行,每行输出一个询问的结果。数据范围1≤l≤r≤n1≤l≤r≤n,1≤n,m≤100000...

2020-01-09 19:05:49 1250 3

原创 数的三次方根 JAVA解法

给定一个浮点数n,求它的三次方根。输入格式共一行,包含一个浮点数n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留6位小数。数据范围−10000≤n≤10000−10000≤n≤10000输入样例:1000.00输出样例:10.000000import java.util.*;public class Main{ pu...

2020-01-09 18:59:28 3434

原创 1254. 统计封闭岛屿的数目 DFS

有一个二维矩阵 grid,每个位置要么是陆地(记号为0 )要么是水域(记号为1 )。我们从一块陆地出发,每次可以往上下左右4 个方向相邻区域走,能走到的所有陆地区域,我们将其称为一座「岛屿」。如果一座岛屿完全由水域包围,即陆地边缘上下左右所有相邻区域都是水域,那么我们将其称为 「封闭岛屿」。请返回封闭岛屿的数目。示例 1:输入:grid = [[1,1,1,1...

2020-01-08 23:52:19 89

原创 数的范围(二分查找) JAVA题解

给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式共q行,每行包含两...

2020-01-08 21:15:39 704

原创 翻硬币 JAVA题解

小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做...

2020-01-08 20:16:07 193

原创 飞行员兄弟 JAVA题解

“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有16个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个4х4的矩阵,您可以改变任何一个位置[i,j]上把手的状态。但是,这也会使得第i行和第j列上的所有把手的状态也随着改变。请你求出打开冰箱所需的切换把手的次数最小值是多少。输入格式输入一共包含四行,每...

2020-01-08 19:40:33 235

原创 带分数 JAVA解法

100100可以表示为带分数的形式:100=3+69258714100=3+69258714还可以表示为:100=82+3546197100=82+3546197注意特征:带分数中,数字1∼91∼9分别出现且只出现一次(不包含00)。类似这样的带分数,100100有1111种表示法。输入格式一个正整数。输出格式输出输入数字用数码1∼91∼9不重复不遗漏...

2020-01-08 15:20:59 457 1

原创 递归实现组合型枚举 JAVA题解

从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数n,mn,m,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n>0n&gt...

2020-01-08 11:57:58 585 1

原创 费解的开关 JAVA题解

这道题因为不熟悉java特性被坑了很久!!!注意java对象的赋值如果用“=”的话,即为引用!!并不是赋值!!!新的对象必须由new产生!你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字“1”表示一盏开着...

2020-01-08 11:21:38 272

原创 第十一届蓝桥杯模拟赛JAVA题解

欢迎指出错误,共同学习!一、问题描述一个数被称为质数(或素数)是指除开1和它本身两个约数外,没有其他的约数。在不超过10000的数中,一共有多少个质数?1229二、问题描述1200000有多少个约数(只计算正约数)。96三、问题描述将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词...

2019-12-20 22:42:17 1865 3

原创 第十一届蓝桥杯校内模拟赛JAVA题解

欢迎各位大佬指出错误,共同学习!1.问题描述请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制。答案提交  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。64732.问题描述两个二进制数11110011101和1111101001的和是多少?请用二...

2019-12-17 12:48:56 2252 1

转载 java 理解Comparator排序的返回值

https://blog.csdn.net/u013066244/article/details/78895747

2019-09-27 22:11:36 2234

原创 历届试题 小计算器

问题描述  模拟程序型计算器,依次输入指令,可能包含的指令有  1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数  2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余  3. 进制转换指令:'CHANGE K',将当前进制转换为K进制(2≤K≤36)  4. 输出指令:'EQUAL',以当...

2019-09-23 11:51:52 239

原创 欧拉路和欧拉回路的判定以及性质

总结:无向图: 刚好有两个点度数为奇数 ---->半欧拉图 所有点的度数都为偶数 ----->欧拉图有向图: 刚好存在两个点,其中一个点的出入度之差为1,另一个点的出入度之差为-1 --->半欧拉图 所有点的出度等于入度 -...

2019-09-12 21:21:03 299

空空如也

空空如也

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

TA关注的人

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