import java.util.*;


/**

数学表示
如果向量 a = [a₁, a₂, a₃],向量 b = [b₁, b₂, b₃],则:
a × b = [a₂b₃ - a₃b₂, a₃b₁ - a₁b₃, a₁b₂ - a₂b₁]

 */
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 计算出这两个向量叉乘的结果
     * @param vector1 int整型一维数组 
     * @param vector2 int整型一维数组 
     * @return int整型ArrayList
     */
    public ArrayList<Integer> crossTimes (int[] a, int[] b) {
        if (a.length != 3 || b.length != 3) {
            throw new IllegalArgumentException("必须是三维向量");
        }
        
        int x = a[1] * b[2] - a[2] * b[1];  // a₂b₃ - a₃b₂
        int y = a[2] * b[0] - a[0] * b[2];  // a₃b₁ - a₁b₃  
        int z = a[0] * b[1] - a[1] * b[0];  // a₁b₂ - a₂b₁
        
        ArrayList<Integer> res = new ArrayList<>();
        res.add(x);
        res.add(y);
        res.add(z);
        return res;
    }
}

向量叉乘(外积)的计算公式是:两个三维向量的叉乘结果是一个新的向量,垂直于原来的两个向量。

参考AI回答:https://chat.deepseek.com/share/u290zp1rzk97odysss