![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试编程题
qq_2450394626
这个作者很懒,什么都没留下…
展开
-
2018阿里巴巴基础平台研发工程师实习生笔试题:一.十进制数转换成的二进制数中有几个1. 二.输出IP所在的网段
1.输入一个十进制数转换成二进制数,输出二进制中有几个1? import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int fangZu = sc.nextInt(); ...原创 2018-05-11 21:17:19 · 1157 阅读 · 1 评论 -
大华软件大赛赛题:不相邻元素的子序列的和的最大值
1.给定一个正数数组,找出不相邻元素的子序列的和的最大值。如:2、5、3、9应该返回14(5+9);8、5、3、9、1应该返回17(8+9);5 4 10 100 10 5应该返回110(5+100+5); 输入: 输入的第一行指定用例数量T; 用例的第一行输入指定数组长度N; 用例的第二行输入指定N个数组元素C[i]; 输出:输出子序列的和的最大值例如: Input: 2 6...原创 2018-05-21 21:08:42 · 623 阅读 · 0 评论 -
求一个数组的字串中数字和最大是多少
例如: [-2,-3,6,6,-3] 字串和最大是12;public static int getMaxSum(int [] array,int n){ if(array.length==0||array == null) return 0; int currentSum = array[0]; int current...原创 2018-05-21 21:11:50 · 224 阅读 · 0 评论 -
华为2018提前批笔试题编程题 java
华为2018提前批笔试题编程题第一题题目描述 输入任意个字符串,将其中的小写字母变为大写,大写字母变为小写,其他字符不用处理; 输入描述: 任意字符串:abcd12#%XYZ 输出描述: 输出字符串:ABCD12#%xyz示例1: 输入: abcd12#%XYZ 输出: ABCD12#%xyz第一题答案(Java代码实现):import jav...原创 2018-08-08 21:32:40 · 3874 阅读 · 4 评论 -
背包问题
背包问题举例(华为2018提前批笔试题编程题):小偷来到了一个神秘的王宫,突然眼前一亮,发现5个宝贝,每个宝贝的价值都不一样,且重量也不一样,但是小偷的背包携带重量 有限,所以他不得不在宝贝中做出选择,才能使偷到的财富最大,请你帮助小偷计算一下。输入描述: 宝贝价值:6,3,5,4,6 宝贝重量:2,2,6,5,4 小偷背包容量:10 输出描述: 偷到宝贝的总价值:15示例...原创 2018-08-19 19:17:39 · 469 阅读 · 0 评论 -
大小写转换
举例分析(华为2018提前批笔试题编程题):题目描述 输入任意个字符串,将其中的小写字母变为大写,大写字母变为小写,其他字符不用处理; 输入描述: 任意字符串:abcd12#%XYZ 输出描述: 输出字符串:ABCD12#%xyz示例1: 输入: abcd12#%XYZ 输出: ABCD12#%xyz答案(Java代码实现):import java.util.Sc...原创 2018-08-19 19:19:48 · 356 阅读 · 0 评论 -
不相邻元素的子序列的和的最大值
举例分析(2018年大华软件大赛赛题)1.给定一个正数数组,找出不相邻元素的子序列的和的最大值。如:2、5、3、9应该返回14(5+9);8、5、3、9、1应该返回17(8+9);5 4 10 100 10 5应该返回110(5+100+5);输入:输入的第一行指定用例数量T;用例的第一行输入指定数组长度N;用例的第二行输入指定N个数组元素C[i];输出:输出子序列的和的最大值例...原创 2018-08-19 19:26:16 · 3037 阅读 · 0 评论 -
Java输出第N个丑数
参考文章网址:参考文章(博客园)题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。我们假设一个数组中已经有若干丑数,并且这些丑数是按顺序排列的,我们把现有的最大丑数记为max,则下一个丑数肯定是前面丑数乘以2,3,5得到的。不妨考虑乘以2得到的情况,...原创 2018-08-22 11:04:05 · 1365 阅读 · 0 评论 -
Java判断一个数是否为质数(素数)
参考文章:参考 质数的定义: 对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。判断一个数是否为质数(素数)方法: 如果是偶数,直接返回;然后从3开始,步长为2,一直到n的算术平方根为止,都除不尽则为质数。Java程序:public class Main { public static void main(String[] args)...原创 2018-08-22 12:04:44 · 23510 阅读 · 1 评论 -
括号匹配
参考文章括号匹配括号字符的有效性给定一个字符串,求最长有效括号子串长度。其中有效括号子串中不能含有其他字符。例如:() 最长有效括号子串长度2; ()() 最长有效括号子串长度4; (()) 最长有效括号子串长度4; (()()) 最长有效括号子串长度6; ()a() 最长有效括号子串...转载 2018-08-23 15:53:49 · 202 阅读 · 0 评论 -
最长重复子串
参考文章:参考文章 分析: 初始化重复子串长度最长是max = 0; 然后遍历字符串找以第i个字符开头的重复子串的最大长度k,如果k大于max则令max = k;public static String maxRepat(String input) { // 参数检查 if (input == null || input.length() == 0) {...转载 2018-08-25 16:20:14 · 150 阅读 · 0 评论 -
m个A,n个B,k个C的所有组合,按照字典排序输出
一、问题1:将m个A,n个B,k个C,所组合成 的所有字符串按照字典排序输出解析:1.先求k个C的组合; 2.然后求1个B,k个C的组合; 3.根据1个B,k个C的组合求2个B,k个C的组合; 4.根据2个B,k个C的组合求3个B,k个C的组合; 5.根据n-1个B,k个C的组合求n个B,k个C的组合; 6.按照同样的方法求出m个A,n个B,k个C所有组合。解题步骤:...原创 2018-08-27 10:48:08 · 1565 阅读 · 0 评论 -
一个字符串含有0和1,可以从中间切开,两段同时翻转然后拼接在一起,可以重复切任意次,问最大相间子串长度是多少
例如: 001 从第一位后面切,分成0和01,两段同时翻转得到0和10,拼接为010; 最大相间子串长度为3。 分析: 把字符串收尾相接成环形,这样无论切多少次,翻转拼接,字符串在圆环上的相对位置不会变化。 所以可以求出没有切分之前字符串所有相间子串的长度,放到一个集合Len中,然后判断字符串首尾的字符是否一致,如果不一致则将集合Len中第一个数加上最后一个数。 Java代码实现如下...转载 2018-09-08 20:14:11 · 807 阅读 · 0 评论 -
n个杀手排成一排,每个晚上如果每个杀手右面的编号小于自己会杀死他,最终经过几个晚上就不会有人被杀?
import java.util.ArrayList;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt()...原创 2018-09-09 10:08:53 · 704 阅读 · 0 评论 -
一个数组,按照数字出现的频率排序输出
参考:Comparator的用法要求按照数字在数组中出现的次数,由大到小排序,然后输出。 例如: 输入:1 1 1 2 2 输出:1 1 1 2 2 因为2出现两次,1出现三次,所以先输出1,最后输出2。例如: 输入:1 1 1 2 2 3 3 3 3 3 输出:3 3 3 3 3 1 1 1 2 2 因为3出现5次,2出现两次,1出现三次,所以先输出3在输出1,最后输出2。...原创 2018-09-11 18:59:52 · 5197 阅读 · 0 评论 -
输出一个字符串中最长的双节棍字符串
形似如同aa..bb..c..,其中字符a的个数等于字符c的个数,字符b的个数小于他们的个数。例如aaabbccc, AAABCCC等。求一个字符串中最长的双节棍字符串。 思路: 找出该字符串中每个字符出现了多少次,判断其中双节棍字符串,找出长度最大的双节棍字符串。 例如: AAABBCCC 先计算出每个字符出现了多少次,得到两个数组data[A,B,C]、num[3,2,3]。有nu...原创 2018-09-15 15:02:28 · 488 阅读 · 0 评论 -
阿里巴巴实习模拟笔试题:有一个n行n列的方阵,对应每个位置上有一个升降杆,只能平移或下滑,升降杆提升速度是每1单位时间,计算出这个最短时间
在一个巨大的水池内,有一个n行n列的方阵,对应每个位置上有一个升降杆,参赛者可以在升降杆之间移动;在开始时刻每个升降杆的高度不同,但是具体是多少高度会显示出来,每个升降杆都有开关让参赛者控制升降杆移动。现要求参赛选手以最短的等待时间从(0,0)到达(n-1,n-1)。在升降杆之间移动时可以选择相邻的上、下、左、右四个方向的升降杆,但是只能平移或下滑,即在高度相同的两个升降杆之间移动或从高...原创 2018-05-07 22:02:37 · 1142 阅读 · 0 评论