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

矩阵乘法计算量估算

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);
        int num = in.nextInt();
        int[][] matrix = new int[num][2];
        for(int i=0; i<num; i++){
            matrix[i][0] = in.nextInt();
            matrix[i][1] = in.nextInt();
        }
        // System.out.println(matrix);
        String s = in.next();
        Stack<Character> stack = new Stack<Character>();
        int res = 0;
        for(int i=0; i<s.length(); i++){
            if(s.charAt(i) == '('){
                // System.out.println(1);
            }else if(s.charAt(i) == ')'){
                char a = stack.pop();
                char b = stack.pop();
                res = res + cal(a, b, matrix);
                stack.push(a);
                int ii = a - 'A';
                int jj = b - 'A';
                matrix[ii][0] = matrix[jj][0];
                matrix[ii][1] = matrix[ii][1];
                // System.out.println(2);
            }else{
                stack.push(s.charAt(i));
                // System.out.println(3);
            }
        }
        System.out.print(res);
    }
    public static int cal(char a, char b, int[][] matrix){
        int res = 0;
        int i = a - 'A';
        int j = b - 'A';
        res  = matrix[j][0] * matrix[j][1] * matrix[i][1];
        // System.out.println(res);
        return res;
    }
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务