自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(21)
  • 收藏
  • 关注

转载 在O(n)时间复杂度内求无序数组中任意两个元素的最大差值,以及存在的组数

题目描述:求无序数组中任意两个元素的最大差值,以及存在最大差值的组别数.输入:输入包含两行,第一行输入一个整数n;第二行n个正整数,用空格隔开.输出:输出为一行,包含最大差值,以及存在组别数.样例输入:44 1 2 1输出:3 2一种实现代码如下(Java版): 1 import java.util.Scanner; 2 /...

2017-12-06 21:15:00 274

转载 在O(1)时间复杂度内求栈中最小元素

如何在O(1)时间复杂度内求栈中最小元素呢?可以使用两个栈来实现该问题。参考《Java程序员面试笔试宝典》的实现方法:使用两个栈结构,一个栈(记为S1)用来存储数据,另一个栈(记为S2)用来指示着栈S1的最小元素。元素入栈S1时,如果当前入栈的元素比栈S2中已有元素还小,则把该元素也入栈S2;出栈时,如果栈S1出栈的元素为当前栈的最小值(等于栈S2栈顶元素),则S2的栈顶元素也出栈,...

2017-11-09 16:49:00 161

转载 快速排序算法

快速排序算法是一种较为高效的排序算法,采用了“挖坑填数+分而治之”的思想。该算法的时间复杂度最好时为O(nlogn),最差时为O(n^2),空间复杂度为O(logn),也是不稳定的,适合n值较大的排序任务。该算法的基本思想是:每次排序都找一个基准位,使得基准位前端的部分每个数都小于该基准位上的数,基准位后端的部分每个数都大于该基准位上的数,然后递归该过程,知道待排序序列中的所有元素都...

2017-11-09 16:26:00 96

转载 数组有序子序列的合并问题

问题描述:一个数组存在前后两个子序列,并且每个子序列都是有序的,两个子序列的分界处为n.实现对该数组两个子序列合并并进行从小到大的排序。样例输入:数组[1,5,6,7,9,2,4,8,10,13,14],分界处n=5,样例输出:[1,2,4,5,6,7,8,9,10,13,14]一种实现方式如下(Java版): 1 import java.util.Arrays; 2 i...

2017-11-09 15:55:00 234

转载 求最大回文前缀的长度问题

题目描述:求一个字符串的最大回文前缀长度。回文是指正反方向读起来都是一样的字符串,比如“abcdcba”就是一个回文。输入:多行字符串。输出:最大回文前缀的长度。样例输入:abcabcdabcdcabcdcbabcdcba样例输出:11117注意本题是求回文前缀的长度,需要从字符串的首部开始,字符串中间到尾部的部分形成的回文不算。一种实现代码如下(Java版): ...

2017-11-07 21:57:00 215

转载 求整数列中存在的最大差值

问题描述:给定一行整数,其中最后一个数字为其个数,在O(n)的时间里求该整数列中存在的最大差值,并且只能拿右边的数减去左边的数。例如:10 -5 3 3 , 最大差值为 8 = 3 - (-5);10 5 2 , 最大差值为 0 = 10 - 10 或者 5 - 5.实现代码如下(Java版):import java.util.Scanner;...

2017-11-06 16:23:00 192

转载 一个类的加载问题题目

如题,如下代码输出结果是什么?public class ClassLoadTest { public static void main(String[] args) { ClassA a = new ClassLoadTest().new ClassB(); ClassB b = new ClassLoadTest().new C...

2017-11-06 15:54:00 71

转载 计算两个用字符串表示的数字的乘积(包括不带小数位与带小数位情形)

如题,如何计算两个用字符串表示的数字的乘积(包括不带小数位与带小数位情形)呢?对于两个整形数字的乘积还好,若两个数字中包含小数,计算就稍微复杂一些了。计算两个整形的乘积的过程:先把两个数字的各位保存在int数组或char数组中,然后再申请一个有该两个数组长度和的数组保存各位相乘的结果,同时还要注意合并两个数字参与计算的数组下标和相同的乘积,例如,前一个数字保存在int[] num1,...

2017-11-06 15:30:00 541

转载 大数的阶乘问题

直接使用现有的基本数据类型(int,long)等保存大数的阶乘结果显然是不行的,因为不论是int,还是long类型,都只能保存一定的数字范围的数,而阶乘的结果可能非常巨大,基本数据类型显然是无法胜任的。那如何计算较大数字的阶乘呢?可以使用数组来保存阶乘的结果,申请一个较大长度的数组便可实现保存较大数字的阶乘。具体实现代码如下(Java版): 1 import java.util....

2017-11-06 14:48:00 107

转载 使用两个栈模拟一个队列

接着上一篇“使用两个队列模拟一个栈”,这里该如何使用两个栈模拟一个队列呢?具体实现如下: 1 public class Queue<E>{ 2 private Stack<E> s1 = null; //s1作为插入栈 3 private Stack<E> s2 = null; //s2作为弹出栈...

2017-11-04 17:41:00 61

转载 使用两个队列模拟一个栈

准备笔试,在看相关知识,看到这个问题,如何使用两个队列模拟一个栈,在参考了相关知识下,实现了代码如下: 1 public class Stack<E>{ 2 Queue<E> q1 = null; //队列q1提供压栈功能, 3 Queue<E> q2 = null; //队列q2提供弹栈功能...

2017-11-04 17:35:00 118

转载 选择排序算法

选择排序算法是另外一种简单的排序算法,该算法的时间复杂度最好时为O(n^2),最差时为O(n^2),空间复杂度为O(1)。另外该算法是不稳定的,在序列较小时效果较好。该算法的基本思想是:不断地取出待排序序列的最小值,若按从小到大排序,就不断地将每次的最小值放在序列前端,直到待排序序列的元素比较完为止。选择排序算法的一种实现如下(Java版): 1 /** 2 * 选...

2017-11-03 14:58:00 69

转载 插入排序算法

插入排序是排序算法中一种经典的排序算法,该算法的时间复杂度最好时为O(n),最差时为O(n^2),空间复杂度为O(1),该算法也是一种稳定的排序算法。该种算法较适合大部分已有序时的排序问题。相比较而言,冒泡排序则更适合较小的序列排序。该排序算法的思想是:不断地将当前数字插入到一个有序序列中,直到最后一个数字插入有序序列为止;初始时以第一个数字自成一个序列。该算法的一种如下(Jav...

2017-11-03 14:35:00 76

转载 找出一个整形数组中第二大的数字

如何在时间复杂度为O(n)内找出数组中第二大的数字?通过设置两个变量,一个保存最大值,一个保存第二大值,通过在找最大值的过程中,原来的最大值逐渐变为第二大值。一种实现代码如下(Java版): 1 /** 2 * 在时间复杂度为O(n)内找出数组的第二大的数字 3 * @author JiaJoa 4 * 5 */ 6 public class Al...

2017-11-03 12:26:00 137

转载 双向冒泡排序算法

冒泡排序算法是一种较为简单的并且稳定的排序算法,该算法的时间复杂度最好为O(n),最差时为O(n^2),需要的空间复杂度为O(1)。这里的算法稳定性是指经过排序后,各元素仍然能保持它们在排序之前的相对次序,就称该算法是稳定的,反之,则为不稳定的。例如,一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后a1,a2,a4,a3,a5,则说明这种排序是稳定的,...

2017-11-03 11:46:00 536

转载 求一个整形数组的最大子数组之和

给定一个整数数组,求取该数组的最大子数组之和,代码如下(部分来源其他博客,如有侵权,请私信): 1 /** 2 * 求一个数组的最大子数组之和 3 * @author JiaJoa 4 * 5 */ 6 public class Algorithm_GetMaxSubString { 7 8 public static void ma...

2017-11-03 11:16:00 92

转载 循环删除数组中元素的问题

一个整形数组,里面存的都是正整数,例如2,1,3,4,5,7,现在要求每隔m个数删除一个数,进行到数组尾部后,再循环至数组首部,如此反复,直到数组的所有数删除为止,求最后一个被删除的数在数组中的原始下标。例如:对于数组 arr = [2,1,3,4,5,7],若m = 2时,整个删除过程(把删除的标记为-1)如下:元素数组:[2,1,3,4,5,7]第一次:[2, 1, 3...

2017-10-26 10:52:00 161

转载 关于如何输出if()..else里的内容的问题

笔试遇到这样一个题目:在如下括号里填写适当代码,使得输出结果为:HelloWorld.public static void main(String[] args) { if(//填写适当代码){ System.out.print("Hello"); }else{ Syste...

2017-10-08 16:04:00 194

转载 小米2017秋招真题——电话号码分身问题(Java版)

原题描述如下:通过对各个数字对应的英文单词的分析,可以发现一些规律:字母Z为0独占,字母W为2独占,字母U为4独占,字母X为6独占,字母G为8独占;在过滤一遍0、2、4、6、8后,字母O为1独占,字母H为3独占,字母F为5独占,字母S为7独占;再次过滤0、1、2、3、4、5、6、7、8后,剩下的I则只为9独占。因此,基于以上规律,编写如下处理代码:(Java版)...

2017-10-02 19:33:00 63

转载 Java字符串的匹配问题,String类的matches方法与Matcher类的matches方法的使用比较,Matcher类的matches()、find()和lookingAt()方法的使用比较...

参考网上相关blog,对Java字符串的匹配问题进行了简单的比较和总结,主要对String类的matches方法与Matcher类的matches方法进行了比较。对Matcher类的matches()、find()和lookingAt()三个容易混淆的方向进行了比较说明。在这里对参考的相关blog的原创者一并谢过,谢谢!话不多说,呈上代码: 1 /** 2 * ...

2017-05-12 21:04:00 337

转载 实现对字符串的反转输出与句子的反转输出

主要实现对一个字符的反转输出,例如,将字符串“abcdefg”反转输出为“gfedcba”。对一个句子的反转输出,例如,将句子“I am a student.”反转输出为“student. a am I”。其中的一个实现代码如下:/** * * @author JiaJoa * 实现对字符串的反转,对句子单词的反转 */public class String...

2017-05-12 18:26:00 303

空空如也

空空如也

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

TA关注的人

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