首页 > 360笔试 (8.24 上午)
头像
馆主君晓
编辑于 2020-08-24 14:54
+ 关注

360笔试 (8.24 上午)

  1. 字符串格式化,给出一串字符串(只包含小写字母),将'n'前面的加上换行输出,每个输出的首字母大写,如果输入的字符串为'n',那么输出'N',字符串的第一个为n,不用输出换行。(AC)

    import java.util.Scanner;
    
    public class Main3{
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine();
            str = str.replaceAll("n","N");
            str= Character.toUpperCase(str.charAt(0))+str.substring(1);
            String temp = "";
            for(int i=0;i<str.length();i++){
                if(str.charAt(i)!='N'){
                    temp+=str.charAt(i);
                }else if(str.charAt(i)=='N' && i!=0){
                    System.out.println(temp);
                    temp = "N";
                }else{
                    temp = "N";
                }
            }
            if(!temp.equals("")){
                System.out.println(temp);
            }
        }
    }
  2. 分组背包问题,做题中没想出来,混了9%,下面是结束之后写的代码。

import java.util.Scanner;

/**
 * 题目描述:
 * 给出 n m分别表示n个英雄和m件装备
 * 然后给出n*m的二维数组 表示第n个英雄装备m件装备时候的攻击力
 * 例子:
 * 2 3
 * 5 6 7
 * 7 8 9
 *
 * 表示有两个英雄 和 3件装备 第一个英雄装备1件 攻击力为 5 装备2件 攻击力为6
 *
 * 上面例子输出 13 第一个英雄装备2件,第二个英雄装备1件 7+7=13
 *
 * 问 n个英雄能够装备出的最大攻击力为多少
 *
 * 分组背包问题,n组物品,每组物品最多选1个,每个物品有价值和其体积,背包空间为m,背包能够装下的最大价值
 *
 *
 */

public class Main4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m =sc.nextInt();
        int[][] value = new int[n][m];
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                value[i][j] = sc.nextInt();
            }
        }
        // dp[i]表示 能够装备i件装备时候 所有英雄的攻击力
        int[] dp = new int[m+1];
        //枚举每一个英雄
        for(int i=0;i<n;i++){
            //枚举能够装的装备数 从大到小枚举
            for(int j = m;j>=0;j--){
                //枚举我们选的哪个
                for(int k = 1;k<=m;k++){
                    if(j-k>=0){
                        dp[j] = Math.max(dp[j],dp[j-k]+value[i][k-1]);
                    }
                }
            }
        }
        System.out.println(dp[m]);
    }
}

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

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

近期精华帖

热门推荐