小紅書2020校招測試開發&後端筆試題卷一

https://blog.csdn.net/weixin_43180675/article/details/106734077

  public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        Stack<Character> stack = new Stack<>();
        StringBuffer sb = new StringBuffer("");
        int bracket = 0;
        for(int i =0;i<s.length();i++){
            char c = s.charAt(i);
            if(c=='('){
                bracket++;
            }else if(c==')'){
                bracket--;
            }else if(bracket==0&&c=='<'){
                //stack.pop();
                sb.deleteCharAt(sb.length()-1);
            }else if(bracket==0){
                sb.append(c);
            }else{
            
            } 
    }
        System.out.println(sb.toString());
    }

 

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int[] agreeArr = new int[num];
        for(int i = 0;i<num;i++){
            agreeArr[i]=sc.nextInt();
        }
        int[] dp = new int[num+1];
        int[] agreeNum = new int[num+1];
        dp[1] = agreeArr[0];
        agreeNum[1]=1;
        for(int i = 2;i<=num;i++){
            dp[i] = Math.max(dp[i-1],dp[i-2]+agreeArr[i-1]);
            if(dp[i]==dp[i-1]){
                agreeNum[i]=agreeNum[i-1];
            }else{
                agreeNum[i]=agreeNum[i-2]+1;
            }
        }
        System.out.println(dp[num]+" "+agreeNum[num]);
    }
}

 

package com.example.demo;

import java.util.Scanner;

/**
 * Created by xuliwei on 2020/6/25.
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int sum = sc.nextInt();
        String str = sc.next();
        String[] split = str.substring(1,str.length()-1).split(",");
        int[] prices = new int[split.length];
        for(int i = 0;i<prices.length;i++){
            prices[i]=Integer.parseInt(split[i]);
        }
        int[][] dp = new int[prices.length+1][sum+1];
        //初始狀態,在金額爲零的情況下,只能選擇什麼都不選這一種組合
        for(int i = 0;i < dp.length;i++){
            dp[i][0] = 1;
        }
        for(int i = 1;i<prices.length+1;i++){
            for(int j = 1;j<sum+1;j++){
                if(prices[i-1]<=j){//如果當前的金額小於總金額,可以選擇選也可以選擇不選
                    dp[i][j]=dp[i-1][j]+dp[i][j-prices[i-1]];
                }else{
                    dp[i][j]=dp[i-1][j];
                }
            }
        }
        System.out.println(dp[prices.length][sum]);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章