FB面经 稀疏矢量乘积

有序情况如下,使用双指针即可

class Node{
int index;
int value;
public Node(int index, int value);
}
//O(M+N)
public sparseVectorDotProduct(int v1[], int v2[]){
    List l1 = new ArrayList();
    List l2 = new ArrayList();
    for(int i = 0; i< v1.length; i++){
        if(v1[i]!=0)l1.add(new Node( i, v1[i]));
    }
    for(int j = 0; j

一个很长一个很短的话,遍历短矢量,对长矢量二分搜索

你可能感兴趣的:(FB面经 稀疏矢量乘积)