Java
文章平均质量分 71
Love_Cpp_forever
菜鸟一只,如有不足,还望留言告知,欢迎各位大佬批评指正!!!!
展开
-
StringBuffer 和StringBuilder的使用时机
关于StringBuffer 和StringBuilder对于具体的模块的实现,如果无法保证以后是在多线程模式下还是单线程模式下,要选用线程安全的。除非有一天确定是单线程,性能需要提升,再修改。编写代码,首先保证安全,性能有问题的时候再查找瓶颈不断优化。解决问题最好的办法就是保证安全的前提下,不断优化性能。坐等瓶颈的出现...原创 2020-09-29 11:48:18 · 142 阅读 · 1 评论 -
一个对象的初始化过程
对象初始化的时候究竟是怎么个什么过程,static修饰的变量和方法都怎么回事?使用的时候有什么区别?今天本小白带着疑问也进行了一番测试,。先上代码(自己测试的时候直接copy就行):class SuperClass { static Print staticMember = new Print("父类static成员变量 1"); { System.out.println("父类初始化块 1"); } static { ..原创 2020-09-18 23:39:34 · 278 阅读 · 0 评论 -
二叉树最小深度
来源:https://www.nowcoder.com/practice/e08819cfdeb34985a8de9c4e6562e724?tpId=46&tqId=29030&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking题目描述minimum-depth-of-binar...原创 2019-07-08 21:19:40 · 126 阅读 · 0 评论 -
House Robber
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷...原创 2019-07-08 22:38:00 · 89 阅读 · 0 评论 -
回文子串
链接:https://www.nowcoder.com/questionTerminal/003482c395bd41c68082f6adc545a600?toCommentId=3230733来源:牛客网给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。("回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。)具有不同开始位置或结束位...原创 2019-07-12 17:04:23 · 21654 阅读 · 0 评论 -
evaluate-reverse-polish-notation
题目链接:https://www.nowcoder.com/practice/22f9d7dd89374b6c8289e44237c70447?tpId=46&tqId=29031&tPage=1&rp=1&ru=%2Fta%2Fleetcode&qru=%2Fta%2Fleetcode%2Fquestion-rankingEvaluate the...原创 2019-07-09 20:27:40 · 118 阅读 · 0 评论 -
非整除集合
链接:https://www.nowcoder.com/questionTerminal/361ff5dd893c4e11856735e52007fca7?toCommentId=3225733来源:牛客网给定一个由正整数组成的集合S,找出一个最大的子集合S·,使得S·中任意两个数字的和都不能被K整除。例如S=「10,10,12,19,22,24,25」,K=4。S·的可能取值为「10,12...原创 2019-07-11 16:37:25 · 441 阅读 · 0 评论 -
字符串归一化
链接:https://www.nowcoder.com/questionTerminal/6d5e036defdf408681376a4a9d4930ff来源:牛客网通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。例如字符串"babcc"归一化后为"a1b2c2"输入描述:每个测试用例...原创 2019-07-11 17:00:04 · 1828 阅读 · 0 评论 -
java保证线程安全的两种方式
转自:https://blog.csdn.net/xiangxianghehe/article/details/51135299 更新:我用C++,Java和Python简单示范了一下同步线程的机制,链接 浅议Rust开发中的线程安全,有兴趣的可以看一下。JVM有主内存(Main Memory)和工作内存(Working...转载 2019-07-18 14:58:40 · 158 阅读 · 0 评论 -
计数器
链接:https://www.nowcoder.com/questionTerminal/e953b0dc87bb43f29cb042c7a9f31598?toCommentId=3228116来源:牛客网小爱有一个奇怪的计数器。在第一个时刻计数器显示数字3,在接下来的每一个时刻,屏幕上的数字都会减1,直到减到1为止。接下来,计数器会重置为上一个计数周期初始值的两倍,然后再每一个时刻减1...原创 2019-07-11 23:57:22 · 443 阅读 · 0 评论 -
树的子结构
https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking输入...原创 2019-07-29 18:35:12 · 91 阅读 · 0 评论 -
线程安全(上)--彻底搞懂volatile关键字
转自:https://www.cnblogs.com/kubidemanong/p/9505944.html对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。这篇文章将从多个方面来讲解volatile,让你对它更加理解。计算机中为什么会出现线程不安全的问题volatile既然是与线程安全有关的问题...转载 2019-07-23 14:18:14 · 106 阅读 · 0 评论 -
线程安全(下)--彻底搞懂synchronized(从偏向锁到重量级锁)
转载:https://www.cnblogs.com/kubidemanong/p/9520071.html接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个:通过对一个对象进行加锁来实现同步,如下面代码。synchronized(lockObject){ //代码}对一个方法进行s...转载 2019-07-23 15:31:48 · 128 阅读 · 0 评论 -
拼多多笔试题-2019-09-01
这题其实就是一个双向挖洞的问题,只要找到开头的点,然后往两边挖就得到结果了,由于第一个不扔掉的是特殊的,所以它有两种选择,向左或向右,其他的就卡死了。举个例子1234542371先去找,没找到,抛弃。2去找,找到了542367,同时2已经找过了,置-1,由于2两边都不是-1,所以它可以使左插入,也可以是右插入,是特殊的。3去找,找到了,发现-1在它左边,所以...原创 2019-09-01 17:51:43 · 613 阅读 · 0 评论 -
java中nextLine()和next()的区别
在java实现字符窗口的输入时,经常使用扫描器Scanner,它操作起来比较简单。在Scanner实现字符串的输入有两种方法,一种是next(),一种nextLine(),但是在使用中我经常感觉这两个用起来不能混用,尤其是不能一个next()之后再直接用nextLine()。那么这两种方法究竟有什么区别呢?区别在于:next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格...原创 2019-07-08 09:55:09 · 206 阅读 · 0 评论 -
最大乘积
链接:https://www.nowcoder.com/questionTerminal/5f29c72b1ae14d92b9c3fa03a037ac5f来源:牛客网给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)输入描述:无序整数数组A[n]输出描述:满足条件的最大乘积示例1输入...原创 2019-06-23 19:14:11 · 211 阅读 · 0 评论 -
大整数相乘
链接:https://www.nowcoder.com/questionTerminal/0f0badf5f2204a6bb968b0955a82779e来源:牛客网有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。输入描述:空格分隔的两个字符串,代表输入的两个大整数输出描述:输入的乘积,用字符串表示示例1输入...原创 2019-06-23 18:39:01 · 500 阅读 · 0 评论 -
跳跃游戏
给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元素代表你在那个位置能够跳跃的最大长度。请确认你是否能够跳跃到数组的最后一个下标。例如:A = [2,3,1,1,4]A=[2,3,1,1,4] 能够跳跃到最后一个下标,输出true;A = [3,2,1,0,4]A=[3,2,1,0,4] 不能跳跃到最后一个下标,输出false。输入格式第一行输入一个正整数 n(1 \leq n...原创 2018-03-09 12:20:47 · 375 阅读 · 0 评论 -
跳跃游戏二
给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元素代表你在那个位置能够跳跃的最大长度。你的目标是到达最后一个下标,并且使用最少的跳跃次数。例如:A = [2,3,1,1,4]A=[2,3,1,1,4],到达最后一个下标的最少跳跃次数为 22。(先跳跃 11 步,从下标 00 到 11,然后跳跃 33 步,到达最后一个下标。一共两次)输入格式第一行输入一个正整数 n(1 \le...原创 2018-03-09 12:31:07 · 430 阅读 · 0 评论 -
2018美团面试题-最小的没出现的数字
今天写了美团校招的题,很悲剧,前面太慢了,最后代码时间不够,没想出来怎么做,然后刚结束就想出来了,捂脸!!!题没记住,大概就是给出一个字符串数组,数组里面的数字是‘0’-‘9’,假如是‘0’,‘1’,‘2’,‘3’,‘4’,这些数可以组成比如1,2,3,4,10,11,12,13,14,20,…………12340,43210这样的数。那么现在找出来最小的没出现的整数,比如1,2。这里第一个没出现的数...原创 2018-03-22 22:13:37 · 697 阅读 · 4 评论 -
集合(京东2017秋招真题)
题目描述 给你两个集合,要求 {A} + {B}。注:同一个集合中不会有两个相同的元素。输入多组(不超过 5 组)数据。每组输入数据分为三行,第一行有两个数字 n,m($0<n,m\leq10000$),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出 int 范围的整数,每个元素之间有一个空格隔开。输出针对每组数据输出一行数据,表示合...原创 2018-03-23 19:05:22 · 460 阅读 · 0 评论 -
全排列及应用
一般来说全排列用于数字排序问题,比如求1,2,3,5,6,7这几个数字组成的比123567大的第一个数,也就是123576,这时候可以用全排列来做,所有的可能都排一下,然后找大于123567的最小数,就是我们要求的了。时间复杂度就是O(n!)。当然这个题有别的做法,时间复杂度是O(n);有需要的可以找我,过两天再写。逻辑上也不复杂。再比如阿里巴巴最近的一道题:输入6个0-9的数字,找出来能组合的最...原创 2018-03-21 00:41:29 · 854 阅读 · 0 评论 -
数串
题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。输出描述:每组数据输出一个表示最大的整...原创 2018-04-09 23:43:36 · 165 阅读 · 0 评论 -
腾讯开发岗笔试题Java
第一题:public class Main { public static void main(String[] args) {Scanner sc = new Scanner(System.in); long n = sc.nextInt(); long m = sc.nextInt(); long sum = n/2 * m; Sy...原创 2018-04-05 17:27:48 · 2117 阅读 · 3 评论 -
下一个更大的数
有一串字符组成的数组,这些字符全都是0-9之间的,比如2,1,7,8,9,求用这些字符组成的比21789大的第一个数。也就是21798了。假设这个数据很长,那么我们怎么做呢,用暴力法估计电脑要罢工了。首先肯定是局部性原理了,下一个更大的数不能从前往后看,只能从后往前看,比如1234535324534245324567,下一个比它更大的数是1234535324534245324576,黑色加粗的部分...原创 2018-04-05 22:14:06 · 1169 阅读 · 0 评论 -
爱奇艺笔试
第一题。直接找就好了。最后不知道为什么我用的 System.out.println()一直不过,用的 System.out.print()才过了。第二题。 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scan...原创 2018-04-19 20:59:57 · 1101 阅读 · 0 评论 -
京东java笔试题
1完全多部图import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt();while(a--!=0) {int b = sc.nextInt();i...原创 2018-09-09 21:30:16 · 994 阅读 · 3 评论 -
贪吃的小Q
小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,表示父母出差的天数N(N<=50000)和巧克力的数量M(N<=M<=100000)。输出描述:输出一个数...原创 2019-06-12 16:15:49 · 253 阅读 · 1 评论 -
维基解密
在最近一期的维基解密中,公布了一串神秘的数字,这引起了很多的猜想。但是只有晓萌知道其中的含义——因为这些神秘的数字就是他留下的记录!其实你有所不知,现在每天忙碌于百度大厦实习的晓萌,在学校读书期间有一大爱好——每当他遇到一个MM,总是会不由自主地从相貌和身材上分别给其打分,首先他会在相貌上选择一个奇数分a (-1018≤a≤1018),然后在身材上再选择一个偶数分b (-1018 ≤ b ≤ 10...原创 2018-03-09 12:00:05 · 2017 阅读 · 0 评论