首页 > 8.22赛码网服务器崩溃之后360笔试补试(8.24下午场)
头像
Mayday1995
编辑于 2020-08-24 15:14
+ 关注

8.22赛码网服务器崩溃之后360笔试补试(8.24下午场) 投票

这次补试的题目很可了,难度跟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) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐