当前位置:   article > 正文

No.126 - LeetCode1213 - 升序三数组相同数字_找出三个增序数组中值相同的数。

找出三个增序数组中值相同的数。
class Solution {
public:
    vector<int> arraysIntersection(vector<int>& arr1, vector<int>& arr2, vector<int>& arr3) {
        int N1 = arr1.size();
        int N2 = arr2.size();
        int N3 = arr3.size();
        int a,b,c;
        a = b = c = 0;
        vector<int> ans ;
        while(a < N1 && b < N2 && c < N3){
            if(arr1[a] == arr2[b] && arr1[a] == arr3[c]){
                ans.push_back(arr1[a]);
                a++;b++;c++;
                continue;
            } 
            int A = a;
            int B = b;
            int C = c;
            bool flag1,flag2,flag3;
            flag1 = flag2 = flag3 = true;
            if(flag2 && arr1[A] > arr2[B]) b++,flag2 = false;
            if(flag3 && arr1[A] > arr3[C]) c++,flag3 = false;
            if(flag1 && arr2[B] > arr1[A]) a++,flag1 = false;
            if(flag3 && arr2[B] > arr3[C]) c++,flag3 = false;
            if(flag1 && arr3[C] > arr1[A]) a++,flag1 = false;
            if(flag2 && arr3[C] > arr2[B]) b++,flag2 = false;
        }
        return ans;
    }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/685294
推荐阅读
相关标签
  

闽ICP备14008679号