1
+ #include < vector>
2
+ #include < algorithm>
3
+ #include < iostream>
4
+
5
+ class Solution
6
+ {
7
+ public:
8
+ int updateTimes (std::vector<int > signalOne,
9
+ std::vector<int > signalSecond)
10
+ {
11
+
12
+ const auto signalOneSize = signalOne.size ();
13
+ const auto signalSecondSize = signalSecond.size ();
14
+
15
+ const auto size = std::min (signalOneSize, signalSecondSize);
16
+
17
+ unsigned int counter {0 };
18
+ int max = 0 ;
19
+
20
+ for (int i=0 ; i<size; ++i)
21
+ {
22
+ int signalOneValue = signalOne[i];
23
+ int signalSecondValue = signalSecond[i];
24
+
25
+ if (signalOneValue == signalSecondValue)
26
+ {
27
+ if (signalOneValue > max)
28
+ {
29
+ max = signalOneValue;
30
+ counter ++;
31
+ }
32
+ }
33
+ }
34
+
35
+ return counter;
36
+ }
37
+ };
38
+
39
+ int main () {
40
+
41
+ std::vector<int > signalOne = {1 ,2 ,3 ,3 ,3 ,5 ,4 };
42
+ std::vector<int > signalSecond = {1 ,2 ,3 ,4 ,3 ,5 ,4 };
43
+
44
+
45
+ std::cout<<Solution{}.updateTimes (signalOne, signalSecond)<<std::endl;
46
+
47
+ std::vector<int > signalOne2 = {1 ,2 ,3 ,4 ,1 };
48
+ std::vector<int > signalSecond2 = {5 ,4 ,3 ,4 ,1 };
49
+
50
+
51
+ std::cout<<Solution{}.updateTimes (signalOne2,
52
+ signalSecond2)<<std::endl;
53
+
54
+ return 0 ;
55
+ }
0 commit comments