腾讯笔试编程题
来源:互联网 发布:淘宝免费充话费 编辑:程序博客网 时间:2024/05/16 01:31
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0;i<n;i++){
a[i] = sc.nextInt();
}
List<Integer> cha = new ArrayList<Integer>();
int count = 0;
for(int i = 0;i<n;i++){
for(int j = i+1;j<n;j++){
cha.add(Math.abs(a[i]-a[j]));
count++;
}
}
int max = Collections.max(cha);
int min = Collections.min(cha);
int maxcount = 0;
int mincount = 0;
for(int i = 0;i<count;i++){
if(cha.get(i) == max){
maxcount++;
} else if(cha.get(i) == min){
mincount++;
}
}
System.out.println(mincount +" " + maxcount);
}
//腾讯:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String s = sc.next();
if(s.length() >=1 && s.length()<= 1000){
for(int i = 0;i<s.length();i++){
if(s.charAt(i) >= 'a' &&s.charAt(i)<='z'){
System.out.print(s.charAt(i));
}
}
for(int j = 0;j< s.length();j++){
if(s.charAt(j) >= 'A' &&s.charAt(j)<='Z'){
System.out.print(s.charAt(j));
}
}
}
}
}
//腾讯:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。
// 可以求原串和反串的公共子序列,总长减去其长度即为需删个数。如果两个相等,则此时最长序列是前一个加1;若不想等,就从前面挑最大的,更长的序列即可。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String s1 = sc.next();
String s2 = new StringBuilder(s1).reverse().toString();
int[][] dp = new int[s1.length() + 1][s2.length() + 1];
for (int i = 1; i < dp.length; i ++ ) { //正序的每一个字符同反序的每一个字符比较
for (int j = 1; j < dp[0].length; j ++ ) {
// dp[i][j] = s1.charAt(i - 1) == s2.charAt(j - 1) ? dp[i - 1][j - 1] + 1 : Math.max(dp[i - 1][j], dp[i][j - 1]);
if (s1.charAt(i-1) == s2.charAt(j-1)){ //字符是相同的 则前一个字符相同的数加一
dp[i][j] = dp[i-1][j-1] + 1;
} else { //对应的字符不相同 则取前面相同字符数中最大那个
dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]);
}
}
}
System.out.println(s1.length() - dp[s1.length()][s2.length()]);//这样得到就是相同字符数最多的值 就是回文的长度 总长减去此长 就得到要删减的数目
}
}
- 腾讯笔试编程题
- 腾讯笔试编程题
- 腾讯笔试编程题
- 腾讯模拟笔试编程题
- 2016腾讯笔试题编程题
- 腾讯笔试题--递归编程(2)
- 2012年腾讯实习生笔试编程题
- 2016.4.3腾讯笔试编程题
- 腾讯笔试编程题--小Q上厕所
- 腾讯笔试编程题--字符移位
- 腾讯笔试编程题--构造回文
- 腾讯2016秋招笔试编程题
- 2017腾讯实习生招聘笔试编程题
- 腾讯2017秋招笔试编程题
- 腾讯2017秋招笔试编程题
- 腾讯2017秋招笔试编程题
- 腾讯2017秋招编程笔试题
- 腾讯2017秋招笔试编程题
- 闭包与匿名函数
- Colliders CodeForces
- Groovy 里常用的异步操作方式
- 《Training:Supporting Different Platform Versions》
- fiddle,修改请求数据
- 腾讯笔试编程题
- A Bug's Life
- HUD 2094(set简单应用)
- android MediaRecorder实现录音功能 显示时间 计时
- 递归
- 【LeetCode81-90】三道链表,两道找最大面积的hard题,一道二叉树的hard题和一些找自信题……
- 改进后的扫雷
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 第一次博客学习笔记