题解 | #矩阵乘法计算量估算#

矩阵乘法计算量估算

https://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            int N = Integer.parseInt(in.nextLine());
            int[][] res = new int[N][2];
            for (int i = 0; i < N; i++) {
                String[] strings = in.nextLine().split(" ");
                res[i][0] = Integer.parseInt(strings[0]);
                res[i][1] = Integer.parseInt(strings[1]);
            }
            String str = in.nextLine().toUpperCase();
            Stack<int[]> stack = new Stack<>();
            int sum = 0;
            int i = 0;
            for (char b : str.toCharArray()) {
                if (b == '(') continue;
                else if (b >= 'A' && b <= 'Z') {
                    stack.push(res[i]);
                    i++;
                } else {
                    int[] last = stack.pop();
                    int[] first = stack.pop();
                    sum = sum + first[0] * first[1] * last[1];
                    int[] ne = new int[2];
                    ne[0] = first[0];
                    ne[1] = last[1];
                    stack.push(ne);
                }
            }
            System.out.println(sum);
        }
    }
}

全部评论

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务