diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2023-02-27 17:24:22 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2023-02-27 17:24:22 +0800 |
| commit | 0be97cae01f3155e252d7dd7c307763e41f2d10f (patch) | |
| tree | 56c47837511515fc691d08d244fd8c03776f4a37 /challenge-205/deadmarshal/cpp | |
| parent | 06c67bd969fd43c8e427d9d761a8087d93529d49 (diff) | |
| parent | 09eef326c170759598ee2d5d35a5aad50be4a11c (diff) | |
| download | perlweeklychallenge-club-0be97cae01f3155e252d7dd7c307763e41f2d10f.tar.gz perlweeklychallenge-club-0be97cae01f3155e252d7dd7c307763e41f2d10f.tar.bz2 perlweeklychallenge-club-0be97cae01f3155e252d7dd7c307763e41f2d10f.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-205/deadmarshal/cpp')
| -rw-r--r-- | challenge-205/deadmarshal/cpp/ch-1.cpp | 22 | ||||
| -rw-r--r-- | challenge-205/deadmarshal/cpp/ch-2.cpp | 24 |
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-205/deadmarshal/cpp/ch-1.cpp b/challenge-205/deadmarshal/cpp/ch-1.cpp new file mode 100644 index 0000000000..e356586b2b --- /dev/null +++ b/challenge-205/deadmarshal/cpp/ch-1.cpp @@ -0,0 +1,22 @@ +#include<iostream> +#include<vector> +#include<algorithm> + +template<typename T> +int third_highest(std::vector<T> &vec) +{ + std::sort(vec.begin(),vec.end(),std::greater<T>()); + vec.erase(std::unique(vec.begin(),vec.end()),vec.end()); + if(vec.size() < 3) return vec[0]; + return vec[2]; +} + +int main() +{ + std::vector<int> vec1{5,3,4},vec2{5,6},vec3{5,4,4,3}; + std::cout << third_highest<int>(vec1) << '\n'; + std::cout << third_highest<int>(vec2) << '\n'; + std::cout << third_highest<int>(vec3) << '\n'; + return 0; +} + diff --git a/challenge-205/deadmarshal/cpp/ch-2.cpp b/challenge-205/deadmarshal/cpp/ch-2.cpp new file mode 100644 index 0000000000..370398b4ca --- /dev/null +++ b/challenge-205/deadmarshal/cpp/ch-2.cpp @@ -0,0 +1,24 @@ +#include<iostream> +#include<vector> + +template<typename T> +int maximum_xor(const std::vector<T> &vec) +{ + int max = 0; + for(size_t i = 0; i < vec.size(); ++i) + for(size_t j = 0; j < vec.size(); ++j) + { + int temp = vec[i] ^ vec[j]; + if(max < temp) max = temp; + } + return max; +} + +int main() +{ + std::cout << maximum_xor<int>({1,2,3,4,5,6,7}) << '\n'; + std::cout << maximum_xor<int>({2,4,1,3}) << '\n'; + std::cout << maximum_xor<int>({10,5,7,12,8}) << '\n'; + return 0; +} + |
