讨论/题目交流/🐱 力扣第 9 场夜喵双周赛/
🐱 力扣第 9 场夜喵双周赛

欢迎在这里交流分享你的参赛心得以及体验。
image.png

展开讨论
力扣 (LeetCode)发起于 2019-09-21
最近编辑于 2019-09-21

第三题,n^nlog(n)

#include <algorithm>
class Solution {
public:
    int smallestCommonElement(vector<vector<int>>& mtx) {
        int n = mtx.size();
        if(mtx.empty() || mtx[0].empty()) return -1;
        else if(mtx.size()==1 && mtx[0].size()==1) return mtx[0][0];
        vector<int>& fst = mtx[0];
        for(int i=0; i<fst.size(); i++) { //扫遍第一行
            int key = fst[i], k = 1;
            
            for(k=1; k<mtx.size(); k++) { //二分 剩下的[2, n]行
                vector<int>& v = mtx[k];
                
                int idx = -1, lef = 0, rig = v.size()-1, mid;
                while(lef <= rig) {
                    mid = (lef + rig) >> 1;
                    if(v[mid] == key) { idx = mid; break; }
                    else if(v[mid] < key) lef = mid + 1;
                    else rig = mid - 1;
                }
                if(idx == -1) break;
            }
            if(k == n) return key;
        }
        return -1;
    }
## };
展开全部 9 讨论