题解 | java#矩阵乘法计算量估算#
矩阵乘法计算量估算
https://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b
import java.util.*; import java.util.concurrent.LinkedBlockingDeque; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.nextInt(); Queue<Matri> matris = new LinkedBlockingDeque<>(); for (int i = 0; i < num; i++) { Matri matri = new Matri(in.nextInt(), in.nextInt()); matris.add(matri); } Stack<Matri> stack = new Stack<>(); String chengfa = in.next(); int count = 0; for (int i = 0; i < chengfa.length() ; i++) { if (chengfa.charAt(i) == '(') { continue; } else if (chengfa.charAt(i) == ')') { if (stack.size() <=1) { break; } Matri a = stack.pop(); Matri b = stack.pop(); count = count + b.x * b.y * a.y; Matri c = new Matri(b.x, a.y); stack.push(c); } else { stack.push(matris.poll()); } } System.out.println(count); } public static class Matri { private int x; private int y; public Matri(int x, int y) { this.x = x; this.y = y; } } }