
Exercises
熊三@
大千世界,尽须体验
展开
-
最难的问题(Java实现)
密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U输入描述:输入包括多组数据,每组数据一行,为收到的密文。密文仅有空格和大写字母组成。输出描述:对应每一组数据,输出解密后的明文imp...原创 2020-03-18 18:06:14 · 337 阅读 · 0 评论 -
将一个正整数分解质因数。例如:输入90,打印出90=2 * 3 * 3 * 5(Java)
public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入一个正整数:"); int input = sc.nextInt(); System.out.print(input+"="); if(...原创 2020-03-12 16:42:31 · 543 阅读 · 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(删除),如此循环直到最后一个数被删除解题思路:这里我们用到了集合ArrayList...原创 2019-09-26 16:04:46 · 174 阅读 · 0 评论 -
个位数统计
给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入描述:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出描述:对N中每一种不同的个位...原创 2019-09-19 11:32:10 · 171 阅读 · 0 评论 -
末尾0的个数
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2思路:我们在计算n的阶乘时,实际上就是把所有小于等于n的正整数分解成质因数,然后再将其乘到一起,那么末尾0的个数实际上就是2*5的个数,而2的个数明显是很多很多的,所以问题就转化成了5的个数。而只有5的倍数才有5这个因数,所以,问题就进一步简化为小于等于n的数中有多少个数是5的倍数...原创 2019-09-18 18:22:42 · 385 阅读 · 0 评论 -
二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。
思路:不管是行还是列,只要有一个能够被4整除,蛋糕数就为网格总数的一半;如果行跟列都不能被4整除,蛋糕数等于网格总数除以2,再加上1。import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.i...原创 2019-09-18 14:31:35 · 505 阅读 · 1 评论 -
求最小公倍数
思路:两个数的最小公倍数=两个数的乘积/两个数的最大公约数,所以求得最大公约数是关键import java.util.Scanner;import java.lang.Math;public class Main{ //最小公倍数等于两个数的乘积除以最大公约数 public static int P(int num1,int num2){ return (...原创 2019-09-18 13:08:57 · 130 阅读 · 0 评论 -
基本字符串压缩
利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。import java.util.*;public class Zipper { public String zipString(String iniString) { char[] a...原创 2019-09-16 16:21:01 · 225 阅读 · 0 评论 -
有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。有n个想要得到的物品,每个物品的体积分别是a1,a2……an。有多少种不同的选择物品的方式。
输入描述:输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别给出a1,a2……an的值。输出描述:输出不同的选择物品的方式的数目。思路:用数组存储物品的重量,然后根据下标从后往前装。其实就是个函数递归。import java.util.Scanner;public clas...原创 2019-08-30 23:19:45 · 1691 阅读 · 0 评论 -
连续子数组的最大和
例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和public class Solution { public int FindGreatestSumOfSubArray(int[] array) { if(array.length == 0||array == null){...原创 2019-08-18 10:49:00 · 88 阅读 · 0 评论 -
给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词序列,使得单词序列中所有的单词都是dict中的单词(序列可以包含一个或多个单词)。
例如:给定s=“leetcode”;dict=["leet", "code"].返回true,因为"leetcode"可以被分割成"leet code".import java.util.Set;public class Solution { public boolean wordBreak(String s, Set<String> dict) { ...原创 2019-08-18 10:45:33 · 1527 阅读 · 0 评论 -
给定一个字符串,问是否能通过添加一个字母将其变为回文串
输入描述:一行一个由小写字母构成的字符串,字符串长度小于等于10输出描述:输出答案(YES\NO)输入coco输出YES思路:双指针,一前一后,遍历一次import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanne...原创 2019-08-15 17:42:18 · 671 阅读 · 0 评论 -
木棒拼图(有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0 的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。)
输入描述:每组测试用例仅包含一组数据,每组数据第一行为一个正整数 n 表示操作的数量(1 ≤ n ≤ 50000) , 接下来有n行,每行第一个整数为操作类型 i (i ∈ {1,2}),第二个整数为一个长度 L(1 ≤ L ≤ 1,000,000,000)。如果 i=1 代表在集合内插入一个长度为 L 的木棒,如果 i=2 代表删去在集合内的一根长度为 L 的木棒。输入数据保证删除时集合中必...原创 2019-08-15 13:24:09 · 890 阅读 · 0 评论 -
输入n个整数,输出其中最小的k个(Java实现)
输入:5 21 3 5 7 2输出:1 2思路:对输入的数字进行排序,然后选出其中最小的几个方法一:利用数组——Arrays.sort(数组名);import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args){...原创 2019-08-14 18:12:18 · 2829 阅读 · 0 评论 -
读入一个字符串str,输出字符串str中的连续最长的数字串(Java实现)
输入:abcd12345ed125ss123456789输出:123456789思路:两层循环,第一层确定开始位置,第二层负责计算长度,然后根据下标从原字符串中截取public class Main { public static void main(String[] args){ //思路:两层循环:找到起点,然后计算长度,从原字符串中截取 Scanner sc = ...原创 2019-08-14 17:44:56 · 1361 阅读 · 0 评论