javaSE
H,W
这个作者很懒,什么都没留下…
展开
-
反转一个单链表
上次我们说到创建一个单链表,这次我们进行单链表的的反转首先判断单链表是否为空,反转的前提是链表不为空,定义一个节点,让它去遍历链表,重新定义一个新的头结点。代码实现具体如下:public Node reverseList(){Node cur=this.head;Node pre=null;Node reverseHead=null;while(cur!=null){Node cu...原创 2019-05-03 13:56:32 · 117 阅读 · 0 评论 -
守形数
题目描述守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。输入描述:输入包括1个整数N,2<=N<100。输出描述:可能有多组测试数据,对于每组数据,输出"Yes!”表示N是守形数。输出"No!”表示N不是守形数。示例描述:输入254输出Yes!No!代码...原创 2019-08-02 17:00:27 · 518 阅读 · 0 评论 -
学分绩点
题目描述:北京大学对本科生的成绩施行平均学分绩点制(GPA)。既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。 公式如下: 实际成绩 绩点 90——100 4.085——89 3.7 82——84 3.3 78——81 3.0 75——77 2.7 72——74 2.3 68——71 2.064——67 1.5 60——63 1.0 60以下 0 1.一门课程的学分绩点=该...原创 2019-08-02 17:03:10 · 519 阅读 · 0 评论 -
饥饿的小易
题目描述:小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃。最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7。因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次。贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000...原创 2019-07-22 10:44:10 · 496 阅读 · 0 评论 -
找X
题目描述:输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入描述:测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出描述:对于每组输入,请输出结果。示例描述:输入:21 30输出:-1代码实现:import java.util.*;public cla...原创 2019-08-03 21:11:49 · 167 阅读 · 0 评论 -
最高分是多少
题目描述:老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数...原创 2019-07-31 14:48:19 · 292 阅读 · 0 评论 -
异类求和
题目描述:在不使用+或者其他运算符的前提下,求A与B 的和。代码实现:import java.util.Scanner;public class UnusualAdd { public int addAB(int A, int B) { int sum = 0; int carry = 0; if (B == 0){ ...原创 2019-07-23 10:23:01 · 165 阅读 · 0 评论 -
微信红包
题目描述:春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2代码实现:import java...原创 2019-07-27 09:46:26 · 254 阅读 · 0 评论 -
旋转数组的最小数字
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。代码实现:import java.util.ArrayList;public class Solutio...原创 2019-07-27 09:47:38 · 75 阅读 · 0 评论 -
数组中的重复数字
题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。代码实现:public class Solution { // Parameters: // ...原创 2019-08-01 14:40:18 · 107 阅读 · 0 评论 -
替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码实现:public class Solution { public String replaceSpace(StringBuffer str) { if (str == null){ ...原创 2019-08-01 14:41:22 · 107 阅读 · 0 评论 -
整数中出现1的次数
题目描述:求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。代码实现:import java.util.Scanner;publ...原创 2019-07-28 09:02:05 · 125 阅读 · 0 评论 -
上楼梯
题目描述:有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例1:1返回:1测试样例2:3返回:4测试样例3:4返回:7代码实现:import java.u...原创 2019-08-07 16:21:33 · 326 阅读 · 0 评论 -
字母统计
题目描述:输入一行字符串,计算其中A-Z大写字母出现的次数输入描述:案例可能有多组,每个案例输入为一行字符串。输出描述:对每个案例按A-Z的顺序输出其中大写字母出现的次数。示例输入DFJEIWFNQLEF0395823048+_+JDLSFJDLSJFKK输出A:0B:0C:0D:3E:2F:5G:0H:0I:1J:4K:2L:3M:0N:1O:0...原创 2019-08-10 09:20:27 · 301 阅读 · 0 评论 -
句子逆序
题目描述:将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符输入描述:将一个英文语句以单词为单位逆序排放。输出描述:得到逆序的句子示例:输入:I am a boy输出:boy a am I代码实现:import java.util.Scanner;publ...原创 2019-08-15 21:35:32 · 179 阅读 · 0 评论 -
坐标移动
题目描述:开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串;里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; %; YAD;等。下面是一个简单的例子 如:A10;S20;W10;...原创 2019-08-16 08:03:44 · 184 阅读 · 0 评论 -
约数的个数
题目描述输入n个整数,依次输出每个数的约数的个数输入描述:输入的第一行为N,即数组的个数(N<=1000),接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。输出描述:可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。示例描述输入51 3 4 6 12输出12...原创 2019-08-28 16:46:14 · 186 阅读 · 0 评论 -
三角形的边
题目描述给定三个已知长度的边,确定是否能够构成一个三角形,这是一个简单的几何问题。我们都知道,这要求两边之和大于第三边。实际上,并不需要检验所有三种可能,只需要计算最短的两个边长之和是否大于最大那个就可以了。 这次的问题就是:给出三个正整数,计算最小的数加上次小的数与最大的数之差。输入描述:每一行包括三个数据a, b, c,并且都是正整数,均小于10000。输出描述:对于输入的每一...原创 2019-08-31 11:15:50 · 248 阅读 · 0 评论 -
数字之和
题目描述:对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。输入描述:每行输入数据包括一个正整数n(0<n<40000)输出描述:对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。示例描述:输入4129739999输出4 73 916 2239 36...原创 2019-08-02 16:59:28 · 241 阅读 · 0 评论 -
上升的小易
题目描述:小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3…bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系...原创 2019-07-30 12:17:45 · 111 阅读 · 0 评论 -
记票统计
题目描述请实现接口:unsigned int AddCandidate (char* pCandidateName);功能:设置候选人姓名输入: char* pCandidateName 候选人姓名输出:无返回:输入值非法返回0,已经添加过返回0 ,添加成功返回1 Void Vote(char* pCandidateName); 功能:投票 输入: char* pCand...原创 2019-07-29 20:32:50 · 154 阅读 · 0 评论 -
斐波那契数列
题目描述:通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定 N,计算 F(N)。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1.示例 2...原创 2019-06-15 18:32:15 · 108 阅读 · 0 评论 -
宝石与石头
题目描述:给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J?和?S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S = “ZZ”输出...原创 2019-06-16 12:39:11 · 105 阅读 · 0 评论 -
最多可以换多少瓶汽水喝?
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?public c...原创 2019-07-02 23:54:06 · 222 阅读 · 0 评论 -
返回第K大的数
题目描述:有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。测试样例:[1,3,5,2,2],5,3返回:2代码实现:import java.util.*;public class Finder { public int findKth(int[] a, in...原创 2019-07-03 20:53:22 · 425 阅读 · 0 评论 -
最小公倍数
题目描述:正整数A和B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法求输入A和B的最小公倍数。import java.util.Scanner;public class Main { public int Num(int num1,int num2) { int result = 0; int i=1; while (i&...原创 2019-07-09 18:30:54 · 166 阅读 · 0 评论 -
括号匹配问题
题目描述:对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表他是否为一个合法的括号串。一个合法的括号串定义为:1.只包括括号字符,2.左括号和右括号一一对应。示例描述:“(()())”,6返回:true代码实现:public class Parenthesis { public boolean chkPare...原创 2019-07-04 16:44:03 · 167 阅读 · 0 评论 -
各个位数数字统计
题目描述:给定一个k位整数N = dk-110k-1 + … + d1101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入描述:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出描述:对N中每一种不同的个位数字,以D:...原创 2019-07-14 09:34:02 · 485 阅读 · 0 评论 -
输出连续最长的数字串
题目描述:读入一个字符串,输出字符串str中的连续最长的数字串示例描述:输入:bhjt6767jhh334608输出:334608代码实现:public class MostLong { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ...原创 2019-07-05 00:06:52 · 544 阅读 · 0 评论 -
Lock简单知识点
Lock的使用格式try{lock.lock();}catch(Exception e){}finally{lock.unlock();}lock接口的重要方法:响应中断2.1、 void lockInterruptibly() throws InterruptedException;非阻塞式获取锁,若获取锁失败,线程继续执行,不再阻塞。2.2、boolean tryLoc...原创 2019-07-05 00:19:21 · 235 阅读 · 0 评论 -
删数
题目描述:有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例,{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(小...原创 2019-07-10 18:52:19 · 171 阅读 · 0 评论 -
买苹果
题目描述:小李去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。可是小李现在只想购买恰好n个苹果,小李想购买尽量少的袋数方便携带,如果不能购买恰好n个苹果,小李将不会购买。输入描述:输入一个整数n,表示小李想购买n(1<=n<=100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1示例描述...原创 2019-07-06 13:26:47 · 299 阅读 · 0 评论 -
删除共公字符
题目描述;输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如:“They are student “和"aeiou”,则删除之后的第一字符串变成"Thy r stdnts”输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例描述:输入:They are studentaeiou输出:Thy r stdnts代码实现:public class D...原创 2019-07-07 08:55:19 · 97 阅读 · 0 评论 -
找出n个数里最小的k个
题目描述:找出n个数里最小的k个输入描述:每个测试输入包含空格分隔的n+1个整数,最后一个整数位k值,n不超过100输出描述:输出n个整数里最小的k个数。升序输出示例描述:输入:2 9 8 4 7 3 6 4输出:2 3 4 6代码实现:public class Kmin { public static void main(String[] args) throws ...原创 2019-07-12 14:47:25 · 616 阅读 · 0 评论 -
跟奥巴马学编程
题目描述:在屏幕上画一个正方形输入描述:输入在一行中给出正方形边长N(3<=N<=20)和组成正方形的某种字符C,间隔一个空格。输出描述:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。示例描述:输入:10 a输出:aaaaaaaaaaa ...原创 2019-07-19 08:49:55 · 533 阅读 · 0 评论 -
构建乘积组
题目描述:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav...原创 2019-07-29 13:27:17 · 105 阅读 · 0 评论 -
滑动窗口最大值
题目描述:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]代码实现: class Solution { public int...原创 2019-09-14 20:34:27 · 215 阅读 · 0 评论