360笔试24下午,回文数和一个类似背包的问题

第一题要求写在纸上的大写字母字符串,把纸翻过来一样,也就是回文数,然后+判断字母是否对称
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true){
            String str=sc.next();
            char a[]=str.toCharArray();
            int l=0;
            int r=a.length-1;
            int k=0;
            while(l<=r){
                if(a[l]==a[r]){
                    if(a[l]=='A'||a[l]=='H'||a[l]=='X'||a[l]=='V'||a[l]=='M'||a[l]=='W'||a[l]=='T'||a[l]=='Y'||a[l]=='U'||a[l]=='I'||a[l]=='O'){
                        l++;
                        r--;
                    }else{
                        k=1;
                        break;
                    }

                }else{
                    k=1;
                    break;
                }
            }
            if(k==1){
                System.out.println("NO");
            }
            else{
                System.out.println("YES");
            }
        }
    }
}

第二题闯关游戏,输入一个数,表示有n组数据,每组数据第一个是该关卡有多少积分,第二个0 1表示是否有宝盒。宝盒打开就当前累计积分翻倍,不打开就累加当前关卡的积分。求积分最大
思路:先闯所有没宝盒的,再去闯有宝盒的
在判断要不要打开宝盒
唯一注意累计积分可能会溢出,应使用long
import java.util.Arrays;
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m=sc.nextInt();
        long count=0;
        int k=0;
        int a[]=new int[m];
        for(int i=0;i<m;i++){
            int x=sc.nextInt();
            int y=sc.nextInt();
            if(y==0){
                count+=x;
            }else{
                a[k]=x;
                k++;
            }
        }
        int b[]= Arrays.copyOfRange(a,0,k);
        Arrays.sort(b);
        while(k>0){
            k--;
            if(count*2>b[k]+count){
                count*=2;
            }else{
                count+=b[k];
            }

        }
        System.out.println(count);
    }
}



#360##笔试题目##360公司#
全部评论

相关推荐

10.18号面的,流程30~40分钟左右,面试官小姐姐人很好。我的技术栈是Java。1.自我介绍。2.项目是什么时间做的?分别介绍一下项目。3.说说你项目中的MySQL数据库使用了哪种存储引擎?4.考察一下你的sql语句吧,说说向表中插入数据的语句。5.看到你简历上写了sql优化,谈谈你的sql优化经验。6.你刚刚提到了索引,说说你的项目中索引是怎么使用的。7.索引分为哪几种?底层数据结构的优点?8.我看你项目中使用了Redis,具体是怎么使用的?9.你说你对项目进行了单元测试,具体是怎么测试的?10.你还进行了压测,具体测试内容和结果?11.你说你使用过postman,你除了进行接口测试还用它做过其他的什么吗?12.接口和抽象类的区别?13.说说Java中的集合?14.看你项目使用到了aop,你怎么理解aop?那你说说项目中具体是怎么使用的?15.看你项目中使用了cas机制,说说什么是cas?你项目中具体是怎么使用的?为什么要选择乐观锁?乐观锁和悲观锁的优缺点?16.说说osi网络模型?tcp,ip分别在哪一层?17.说说http报文格式?你刚才提到了状态码,204状态码表示什么意思?404?5xx是表示哪里错误?502什么意思?18.http请求类型有哪些?说说post和put类型的区别?19.http和https的区别?20.看到你简历中写了分布式事务,说说分布式事务的原理?21.给你一个百度查询框,如何编写测试用例?22.平时怎么进行测试相关的学习?23.说说你对自动化测试的理解?24.测试和开发,你更加偏向于哪个?25.反问环节?总体流程下来问的八股不难,项目也没咋深挖。你简历上写的东西一定要搞懂,面试官会问的。面试完了当天我就显示进入复试了,不知道啥时候给我发邮件约二面。 #数字马力# #数字马力面经# #数字马力测开# #数字马力测试长沙#
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务