这次补试的题目很可了,难度跟8.22差不多,一道字符串一道贪心。不到半个小时就做完交卷,许愿顺利上岸奇虎360
第1题代码如下:
package qihu360;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
//AC 100%
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while (sc.hasNext()){
String str=sc.next();
if(isDuiCheng(str)&&isHuiWen(str)){
System.out.println("YES");
}else {
System.out.println("NO");
}
}
}
public static boolean isHuiWen(String str){
char []arr=str.toCharArray();
int mid=arr.length/2;
int l,r;
if(arr.length%2==0){
l=mid-1;
r=mid;
}else {
l=mid-1;
r=mid+1;
}
if(str==null || str.length()==0){
return false;
}
while (l>=0 && r<arr.length){
if(arr[l--]!=arr[r++]){
return false;
}
}
return true;
}
public static boolean isDuiCheng(String str){
Set<Character> set=new HashSet<Character>();
set.add('A');
set.add('H');
set.add('I');
set.add('M');
set.add('O');
set.add('T');
set.add('U');
set.add('V');
set.add('W');
set.add('X');
set.add('Y');
int count=0;
for (int i = 0; i < str.length(); i++) {
if(set.contains(str.charAt(i))){
count++;
}
}
return count==str.length()?true:false;
}
}
第2题代码如下:
package qihu360;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
//AC 100%
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
long nums[][]=new long[n][2];
for (int i = 0; i < n; i++) {
nums[i][0]=sc.nextInt();
nums[i][1]=sc.nextInt();
}
Arrays.sort(nums, new Comparator<long[]>() {
public int compare(long[] o1, long[] o2) {
if(o1[1]==o2[1]){
return (int) (o2[0]-o1[0]);
}
return (int) (o1[1]-o2[1]);
}
});
long res=0;
for (int i = 0; i < n; i++) {
if(nums[i][1]==0){
res+=nums[i][0];
}
else{
res=Math.max(res+nums[i][0],2*res);
}
}
System.out.println(res);
}
}
全部评论
(0) 回帖