Commit b33e2d55d4c0e63bbb07289291a1841a365daf36
Committed by
Ronaldo

1 parent
76e94dfea8
Exists in
main
Create directory Unordered_Set and file Duplicates.cpp.
Showing 2 changed files with 43 additions and 1 deletions Inline Diff
SearchingSortingandBasicDataStructures/InbuiltSorting/Problem5/SimpleTask.cpp
View file @
b33e2d5
// | 1 | 1 | // | |
// Created by ronal on 2/25/2023. | 2 | 2 | // Created by ronal on 2/25/2023. | |
// | 3 | 3 | // Problem Link Description | |
4 | // http://codeforces.com/contest/558/problem/E | |||
4 | 5 | |||
#include <bits/stdc++.h> | 5 | 6 | #include <bits/stdc++.h> | |
using namespace std; | 6 | 7 | using namespace std; | |
7 | 8 | |||
int Posicion(int queries, vector<tuple<int, int, int>>& VT){ | 8 | 9 | int Posicion(int queries, vector<tuple<int, int, int>>& VT){ | |
int first, last, type, posicion; | 9 | 10 | int first, last, type, posicion; | |
int sum_diff_max = 0; | 10 | 11 | int sum_diff_max = 0; | |
int sum_diff_currenty = 0; | 11 | 12 | int sum_diff_currenty = 0; | |
12 | 13 | |||
for(int i = 0; i < queries; i++){ | 13 | 14 | for(int i = 0; i < queries; i++){ | |
cin >> first >> last >> type; | 14 | 15 | cin >> first >> last >> type; | |
if(i == 0) { | 15 | 16 | if(i == 0) { | |
sum_diff_max = last - first; | 16 | 17 | sum_diff_max = last - first; | |
posicion = i; | 17 | 18 | posicion = i; | |
}else{ | 18 | 19 | }else{ | |
sum_diff_currenty = last - first; | 19 | 20 | sum_diff_currenty = last - first; | |
if(sum_diff_max < sum_diff_currenty){ | 20 | 21 | if(sum_diff_max < sum_diff_currenty){ | |
sum_diff_max = sum_diff_currenty; | 21 | 22 | sum_diff_max = sum_diff_currenty; | |
sum_diff_currenty = 0; | 22 | 23 | sum_diff_currenty = 0; | |
posicion = i; | 23 | 24 | posicion = i; | |
} | 24 | 25 | } | |
} | 25 | 26 | } | |
VT.emplace_back(first, last, type); | 26 | 27 | VT.emplace_back(first, last, type); | |
} | 27 | 28 | } | |
return posicion; | 28 | 29 | return posicion; | |
} | 29 | 30 | } | |
int main(){ | 30 | 31 | int main(){ | |
ios_base::sync_with_stdio(false); | 31 | 32 | ios_base::sync_with_stdio(false); | |
cin.tie(NULL); | 32 | 33 | cin.tie(NULL); | |
string S; | 33 | 34 | string S; | |
int size, queries; | 34 | 35 | int size, queries; | |
vector<tuple<int, int, int>> VT; | 35 | 36 | vector<tuple<int, int, int>> VT; | |
cin >> size >> queries; | 36 | 37 | cin >> size >> queries; | |
cin.ignore(); | 37 | 38 | cin.ignore(); | |
getline(cin, S); | 38 | 39 | getline(cin, S); | |
39 | 40 | |||
int p = Posicion(queries, VT); | 40 | 41 | int p = Posicion(queries, VT); | |
for(int i = p; i < VT.size(); i++) { | 41 | 42 | for(int i = p; i < VT.size(); i++) { | |
if ( get<2>(VT[i]) == 1) { | 42 | 43 | if ( get<2>(VT[i]) == 1) { | |
sort(S.begin() + get<0>(VT[i]) - 1, S.begin() + get<1>(VT[i])); | 43 | 44 | sort(S.begin() + get<0>(VT[i]) - 1, S.begin() + get<1>(VT[i])); | |
} else if (get<2>(VT[i]) == 0) { | 44 | 45 | } else if (get<2>(VT[i]) == 0) { | |
sort(S.begin() + get<0>(VT[i]) - 1, S.begin() + get<1>(VT[i]), greater<>()); | 45 | 46 | sort(S.begin() + get<0>(VT[i]) - 1, S.begin() + get<1>(VT[i]), greater<>()); | |
} | 46 | 47 | } | |
} | 47 | 48 | } | |
// for(const auto & i : S){ | 48 | 49 | // for(const auto & i : S){ | |
// cout << i; | 49 | 50 | // cout << i; | |
// } | 50 | 51 | // } |
SearchingSortingandBasicDataStructures/Unordered_Set/Duplicates.cpp
View file @
b33e2d5
File was created | 1 | // | ||
2 | // Created by ronal on 2/26/2023. | |||
3 | // Problem Link Description | |||
4 | // https://leetcode.com/problems/find-all-duplicates-in-an-array/ | |||
5 | ||||
6 | #include <bits/stdc++.h> | |||
7 | ||||
8 | using namespace std; | |||
9 | class Solution { | |||
10 | public: | |||
11 | vector<int> findDuplicates(vector<int>& nums) { | |||
12 | vector<int> duplicates; | |||
13 | unordered_set<int> inSet; | |||
14 | unordered_set<int> duplicatesSet; | |||
15 | ||||
16 | for(auto value : nums){ | |||
17 | if(inSet.find(value) == inSet.end()){ | |||
18 | inSet.insert(value); | |||
19 | }else{ | |||
20 | duplicatesSet.insert(value); | |||
21 | } | |||
22 | } | |||
23 | ||||
24 | for(auto value : duplicatesSet){ | |||
25 | duplicates.push_back(value); | |||
26 | } | |||
27 | return duplicates; | |||
28 | } | |||
29 | }; | |||
30 | ||||
31 | ||||
32 | int main(){ | |||
33 | Solution solution; | |||
34 | vector<int> arr = {4,3,2,7,8,2,3,1}; | |||
35 | vector<int> duplicates = solution.findDuplicates(arr); |