-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path66.cpp
More file actions
executable file
·68 lines (57 loc) · 1.55 KB
/
66.cpp
File metadata and controls
executable file
·68 lines (57 loc) · 1.55 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
vector<int> plusOne(vector<int>& digits)
{
vector<int> result;
unsigned long long sum = digits.back();
unsigned long long temp,counter = 0;
digits.pop_back();
while (!digits.empty())
{
counter++;
temp = digits.back();
for (unsigned long long i = 0; i < counter; i++)
temp *= 10;
sum += temp;
digits.pop_back();
}
digits.pop_back();
cout << "Sum = " << sum << endl;
sum = sum + 1;
while (sum > 9)
{
unsigned long long rem = sum % 10;
// cout << "Reminder = " << rem << endl;
result.push_back(rem);
sum = (sum - rem) / 10;
// cout << "size " << result.size() << endl;
}
result.push_back(sum);
// cout << "size " << result.size() << endl;
std::vector<int> final;
while (!result.empty())
{
final.push_back(result.back());
result.pop_back();
}
return final;
}
};
int main()
{
vector<int> a = {7,2,8,5,0,9,1,2,9,5,3,6,6,7,3,2,8,4,3,7,9,5,7,7,4,7,4,9,4,7,0,1,1,1,7,4,0,0,6};
cout << "Size = " << a.size() << endl;
Solution S;
vector<int>res;
res = S.plusOne(a);
cout << "size " << res.size() << endl;
while (!res.empty())
{
cout << "Result = " << res.back() << endl;
res.pop_back();
}
return 0;
}