From d5ae473539b4e5ca80d58eecf084c38e422f6475 Mon Sep 17 00:00:00 2001 From: zhangzc Date: Tue, 26 Oct 2021 14:02:51 +0800 Subject: [PATCH] add 1 exercises --- .../solution.cpp" | 19 ++- .../solution.md" | 133 ++++++++++++++++++ 2 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 "data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.cpp" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.cpp" index d2e19472a..1be81896f 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.cpp" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.cpp" @@ -1,4 +1,7 @@ #include +#include +#include +using namespace std; class Solution { public: @@ -20,4 +23,18 @@ public: } return r; } -}; \ No newline at end of file +}; + +int main() +{ + Solution test; + int arr[] = {3, 2, 4}; + vector ret; + vector vec(arr, arr + 4); + ret = test.twoSum(vec, 6); + for (auto i = ret.begin(); i != ret.end(); i++) + { + cout << *i << ' '; + } + return 0; +} diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" new file mode 100644 index 000000000..d629e19d3 --- /dev/null +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" @@ -0,0 +1,133 @@ +# 两数之和 +以下错误的选项是? +## aop +### before +```cpp +#include +#include +#include +#include +using namespace std; +``` +### after +```cpp +int main() +{ + Solution test; + int arr[] = {3,2,4}; + vector ret; + vector vec(arr, arr+4); + ret = test.twoSum(vec, 6); + for (auto i = ret.begin(); i != ret.end(); i++) + { + cout << *i << ' '; + } + return 0; +} +``` + +## 答案 +```cpp +class Solution +{ +public: + vector twoSum(vector &nums, int target) + { + vector vec; + map dic; + for (int i = 0; i < nums.size(); ++i) + { + dic[nums[i]] = i; + } + for (int i = 0; i < nums.size(); ++i) + { + if (dic.count(target - nums[i]) != 0 && dic[target - nums[i]] != i) + { + vec.push_back(i); + vec.push_back(dic[target]); + break; + } + } + return vec; + } +}; +``` +## 选项 + +### A +```cpp +class Solution +{ +public: + vector twoSum(vector &nums, int target) + { + vector a; + map map; + for (int i = 0; i < nums.size(); i++) + { + map[nums[i]] = i; + } + for (int j = 0; j < nums.size(); j++) + { + if (map.count(target - nums[j]) == 1 && map[target - nums[j]] != j) + { + a.push_back(j); + a.push_back(map[target - nums[j]]); + return a; + } + } + return a; + } +}; +``` + +### B +```cpp +class Solution +{ +public: + vector twoSum(vector &nums, int target) + { + vector a; + map map; + for (int i = 0; i < nums.size(); i++) + { + if (map.find(target - nums[i]) != map.end()) + { + a.push_back(map[target - nums[i]]); + a.push_back(i); + return a; + } + else + { + map[nums[i]] = i; + } + } + return a; + } +}; +``` + +### C +```cpp +class Solution +{ +public: + vector twoSum(vector &nums, int target) + { + vector a; + for (int i = 0; i < nums.size(); i++) + { + for (int j = i + 1; j < nums.size(); j++) + { + if (nums[i] + nums[j] == target) + { + a.push_back(i); + a.push_back(j); + return a; + } + } + } + } +}; +``` -- GitLab