自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coder__666的博客

一起学习,共同进步

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

原创 PAT乙级Java实现_1019 数字黑洞 (20) _附详细解题注释_19

1019 数字黑洞 (20)(20 分)给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 1089\ 9810 - 0189 = 9621\ 962...

2018-06-10 22:02:15 772

原创 PAT乙级Java实现_1018 锤子剪刀布 (20) _附详细解题注释_18

1018 锤子剪刀布 (20)(20 分)大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第1行给出正整数N(<=10^5^),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代...

2018-06-10 21:14:18 1041

原创 PAT乙级Java实现_1017 A除以B (20) _附详细解题注释_17

1017 A除以B (20)(20 分)本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 3作者:...

2018-06-10 20:41:46 1560 3

原创 PAT乙级Java实现_1016 部分A+B (15) _附详细解题注释_16

1016 部分A+B (15)(15 分)正整数A的“D~A~(为1位整数)部分”定义为由A中所有D~A~组成的新整数P~A~。例如:给定A = 3862767,D~A~ = 6,则A的“6部分”P~A~是66,因为A中有2个6。现给定A、D~A~、B、D~B~,请编写程序计算P~A~ + P~B~。输入格式:输入在一行中依次给出A、D~A~、B、D~B~,中间以空格分隔,其中0 < A, ...

2018-06-10 20:26:37 474

原创 PAT乙级Java实现_1015 德才论 (25) _附详细解题注释_15

1015 德才论 (25)(25 分)宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第1行给出3个正整数,分别为:N(<=10^5^),即考生总数;L(>=60),为录取...

2018-06-03 21:09:23 1738 4

原创 PAT乙级Java实现_1014 福尔摩斯的约会 (20) _附详细解题注释_14

1014 福尔摩斯的约会 (20)(20 分)大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相...

2018-06-02 17:56:35 1070 2

原创 PAT乙级Java实现_1013 数素数 (20) _附详细解题注释_13

1013 数素数 (20)(20 分)令P~i~表示第i个素数。现任给两个正整数M <= N <= 10^4^,请输出P~M~到P~N~的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从P~M~到P~N~的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4...

2018-06-02 16:33:05 732

原创 剑指Offer_调整数组顺序使奇数位于偶数前面_13

package code;//题目描述:调整数组顺序使奇数位于前面//输入一个整数数组,实现一个函数来调整该数组中数字的顺序,//使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,//并保证奇数和奇数,偶数和偶数之间的相对位置不变。//本来想改写快排patation部分的,后面写着写着发现快排是不稳定的。//解法一:直接创建一个数组,遍历原数组,将奇数填进新数组,...

2018-06-01 23:03:32 244

原创 剑指Offer_数值的整数次方_12

package code;//题目描述:数值的整数次方//给定一个double类型的浮点数base和int类型的整数exponent。//求base的exponent次方。//解一://如果底数为0,则无论指数为多少,结果都为0;//如果指数为0,则底数只要非零,结果都为1;//如果指数大于0,就将底数自乘指数次。//如果指数小于0,就将底数自乘(-指数次),然后除1。//解...

2018-06-01 19:08:19 181

原创 剑指Offer_二进制中1的个数_11

package code;//题目描述:二进制中1的个数。//输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。/*最优解:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起...

2018-06-01 18:53:05 160

原创 剑指Offer_矩形覆盖_10

package code;//题目描述:矩形覆盖//我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。//请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?//依旧是斐波那契数列//2*n的大矩形,和n个2*1的小矩形//其中target*2为大矩阵的大小//有以下几种情形://1、target <= 0 大矩形为<= 2*0,直接ret...

2018-05-31 10:53:03 131

原创 剑指Offer_变态跳台阶_09

package code;//题目描述:变态跳台阶//一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。//求该青蛙跳上一个n级的台阶总共有多少种跳法。//因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级//跳1级,剩下n-1级,则剩下跳法是f(n-1)//跳2级,剩下n-2级,则剩下跳法是f(n-2)//所以f(n)=f(n-1)+f(n-2)+...+f...

2018-05-30 23:25:15 157

原创 剑指Offer_青蛙跳台阶_08

package code;//题目描述//一只青蛙一次可以跳上1级台阶,也可以跳上2级。//求该青蛙跳上一个n级的台阶总共有多少种跳法。//思路:可以用递归的思想将问题细化,//当青蛙需要跳到n级台阶时,只有2种情况发生,//1种是从n-1级台阶跳1级台阶到n级台阶,//另1种是从n-2级台阶跳2级台阶到n级台阶。public class Offer08 { public st...

2018-05-29 23:06:16 119

原创 剑指Offer_斐波那契数列_07

package code;//题目描述//大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。//n<=39public class Offer07 { public static void main(String[] args) { Offer07 offer = new Offer07(); for(int i = 1; i < 10...

2018-05-28 23:08:47 207

原创 剑指Offer_[旋转数组]的最小数字_06

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。package code;////题目描述//把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋...

2018-05-28 22:40:34 137

原创 剑指Offer_两个栈来实现队列_05

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。package code;//题目描述://    用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。//思路://    第一个栈时主要的用来模拟队列,第二个栈用来辅助//    进队列时将数据插到队尾,相当于把数据压入第一个栈,//    出队列时需要取出...

2018-05-28 19:22:54 112

原创 Java常用API 之 java.util.Collections类(附解析和示例)_14

public class Collectionsextends Objectjava.util.Collections类直接继承自Object类。    Collections类由操作 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。如果为此类的方法所提...

2018-05-28 17:28:34 1661

原创 剑指Offer_重建二叉树_04

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。package test;import java.util.LinkedList;public class Test{ public stati...

2018-05-22 16:47:56 169

原创 二叉树的前序遍历,中序遍历,后序遍历(Java实现)

1.前序遍历    前序遍历(DLR,lchild,data,rchild),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。若二叉树为空则结束返回,否则:(1)访问根结点。(2)前序遍历左子树。(3...

2018-05-21 17:46:35 79909 15

转载 java 泛型详解__泛型类,泛型接口,泛型方法__超详细易懂

    对java的泛型特性的了解仅限于表面的浅浅一层,直到在看java文档中集合框架的内容时发现有不少不了解的用法,才想起详细的记录一下。本文转自java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一。-------------------------------------------------------------正文---------------------------------...

2018-05-17 01:44:04 1736

原创 剑指Offer_从尾到头打印链表_03

题目描述输入一个链表,从尾到头打印链表每个节点的值。/*链表结构*    public class ListNode {*        int val;*        ListNode next = null;**        ListNode(int val) {*            this.val = val;*        }*    }**/import java.util....

2018-05-14 20:04:20 99

原创 剑指Offer_替换空格_02

题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Offer02 {//可以在StringBuffer上直接操作,如replaceSpace2 //也可以用StringBuffer生成字符串,如replaceSpace //查看java文档发现,应该优...

2018-05-14 19:34:55 123

原创 Java常用API 之 java.util.ArrayList<E>(附解析和示例)_13

java.util.ArrayList的继承关系:java.lang.Object     java.util.AbstractCollection&lt;E&gt;     java.util.AbstractList&lt;E&gt;      java.util.ArrayList&lt;E&gt;public class ArrayList&lt;E&gt...

2018-05-13 23:16:10 328

原创 Java常用API 之 java.lang.StringBuilder(附解析和示例)_12

2public final class StringBuilderextends Objectimplements Serializable, CharSequence    java.lang.StringBuilder是一个可变的字符序列。StringBuilder类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换...

2018-05-13 20:28:01 968

原创 剑指Offer_二维数组中的查找_01

package code;public class Offer01 { public static void main(String[] args) { int[][] array = { {1,2,8,9}, {2,4,9,12}, {4,7,10,13}, {6,8,11,15}}; System.out.println(Find(7,arra...

2018-05-12 22:09:58 110

原创 常见算法之排序(进阶部分)_堆排序_04

public class Code_01_Sort { public static void main(String[] args) { //初始化数组 int len = (int)(Math.random()*20);//随机生成20以内的数组长度 int[] arr = new int[len]; for(int i = 0; i &lt; len; i++)//在数...

2018-05-12 19:35:47 164

原创 常见算法之排序(进阶部分)_快速排序_03

快速排序

2018-05-12 19:31:37 120

原创 Java常用API 之 java.io.BufferedReader(附解析和示例)_11

2 public class BufferedReaderextends Reader    java.io.BufferedReader类继承自java.io.Reader类。    BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者使用默认的大小,大多数情况下,默认值就足够大了。    通常,Reader 所作的每个...

2018-05-10 15:29:13 3089

原创 Java常用API 之 java.io.InputStreamReader(附解析和示例)_10

1public class InputStreamReaderextends Reader    InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节...

2018-05-10 12:16:58 3171

原创 Java常用API 之 java.io.Reader字符流(附解析和示例)_09

java.io.Reader类描述:Reader类是一个抽象类,作用是读取字符流。子类必须实现的方法只有 read(char[ ], int, int) 和 close( )。抽象类的概念:抽象类是指拥有抽象方法的类,包含一个或多个抽象方法的类必须被声明为抽象的。但除了抽象的方法之外,抽象类还可以包含具体数据和具体方法,这一点与普通类一样。抽象方法充当着占位的角色,它们的具体实现在子类中。拓展抽象...

2018-05-10 11:29:55 1848

转载 Java I/O基础框架_08

1、流(Stream)  stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。Java的I/O操作类在java.io包下,这些类可以大概分为两类,操作字节流的和操作字符流的类:字节流  表示以字节为单位从stream中读取或往stream中写入信息,即java.io包中的inputstream类和outputstream类的派生类。通常用来读取二进制数据,如图象和声音。...

2018-05-08 20:18:51 102

原创 理解Java字节流与字符流的区别与联系 _07

Java中的“流”是什么?    一个Java I/O对象叫做数据流。读取数据到内存的对象叫做输入流,内存写出数据的对象叫做输出流。针对其面向的不同角度,可以将流分为下面几种类型:按照数据流的方向不同分为输入流和输出流。这种分类不是绝对的,例如在向一个文件写入数据时,它就是输出流;而在读取数据时,它就是输入流。按照处理数据的单位不同分为字节流和字符流。表示以字节为单位从stream中读取或往str...

2018-05-08 20:10:39 1652

原创 PAT乙级Java实现_1012. 数字分类 _附详细解题注释_12

1012. 数字分类 (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数...

2018-05-08 17:13:55 432

原创 PAT乙级Java实现_1011. A+B和C_11

1011. A+B和C (15)时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者HOU, Qiming给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。输入格式:输入第1行给出正整数T(&lt;=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出格式:对每组测试用例,在一...

2018-05-08 16:14:50 244

原创 PAT乙级Java实现_1010. 一元多项式求导 _附详细解题注释_10

1010. 一元多项式求导 (25)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能...

2018-05-08 13:38:05 1017 2

原创 PAT乙级Java实现_1009. 说反话 _附详细解题注释_09

1009. 说反话 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没...

2018-05-07 22:05:35 190

原创 PAT乙级Java实现_1008. 数组元素循环右移问题_附详细解题注释_08

1008. 数组元素循环右移问题 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard一个数组A中存有N(N&gt;0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M&gt;=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果...

2018-05-07 21:39:06 472

原创 PAT乙级Java实现_1007. 素数对猜想 _附详细解题注释_07

1007. 素数对猜想 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n&gt;1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (&lt; 105),请计算不超过N的满足猜想的...

2018-05-07 19:51:52 943 2

原创 Java常用API 之 java.util.Collection接口(附解析和示例)_07

在Java类库中,集合类的基本接口是Collection接口。Collection 表示一组对象,这些对象也称为 Collection 的元素。一些 Collection 允许有重复的元素,而另一些则不允许。一些collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接实现:它提供更具体的子接口(如 Queue、Set 和 List)实现。此接口通常用来传递 Collect...

2018-05-07 18:18:47 356

转载 我十年的程序员生涯----雷军(写于1996年)

    最近,和UCWEB同事讨论,怎么才能把我们的UCWEB做到极致。我说,“手机上的平台非常多,如果想做好,需要足够多、足够优秀的程序员。优秀的程序员如何定义呢?首先必须热爱写程序,其次必须是一个完美主义者。只有这样的人,才能把事情做得极致。”    说着说着,我怀念起我过去写程序的日子,从1987年到1996年,那是一段阳光灿烂的日子。几年前我无意中从网上找到了1996年在金山西点BBS上写...

2018-05-07 16:48:15 806

空空如也

空空如也

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

TA关注的人

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