首页 > 奇安信816笔试(本菜醉了)
头像
Weasleyy
编辑于 2020-08-16 17:32
+ 关注

奇安信816笔试(本菜醉了)

第一题
题目描述有点迷,反复调试都是0,一看AC竟然是三步问题??!
原提交代码(通过0
public static int CalulateMethodCount (int num_money) {
    int dp[]  = new int[num_money+1];
    if(num_money<=0) return 0;
    dp[0]=0;
    dp[1]=1;
    for (int i = 1; i <num_money; i++) {
        int k = 0,count=0;
        while(count<=i){
            k+=dp[count];
            count++;
        }
        dp[i+1]=k+1;
    }

    return dp[num_money];
//甚至可以直接一行:
 //return 1<<(num_money-1);
}
第二题
啊,用例考虑有问题,这是我提交的,只有0.4┭┮﹏┭┮
import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        s=s.replaceAll("\\t"," ");
        //s=s.replaceAll("\\s{1,}"," ");
        String  [] strings = s.split(" ");
        Stack<String> stack = new Stack<>();
        Stack<String> undo = new Stack<>();
        for(String string :strings){
            if(string.equals("undo") && !stack.empty()){
                undo.push(stack.pop());
            } else if (string.equals("redo") && !undo.empty()) {
                stack.push(undo.pop());
            }
            else{
                stack.push(string);
            }
        }
        Stack<String> res = new Stack<>();
        while(!stack.empty()){
            res.push(stack.pop());
        }
        StringBuffer sb = new StringBuffer();
        while (!res.empty()){
            sb.append(res.pop()+" ");
        }
        String resString  = sb.toString();
        System.out.println(resString.trim());
    }
}



全部评论

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

推荐话题

相关热帖

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

近期精华帖

热门推荐