From 18fef7d7cee7d63222412725a235954629f73555 Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:53:38 +0700 Subject: [PATCH 1/8] Create Assignment --- Topic1_Arrays/Day2207/Assignment | 1 + 1 file changed, 1 insertion(+) create mode 100644 Topic1_Arrays/Day2207/Assignment diff --git a/Topic1_Arrays/Day2207/Assignment b/Topic1_Arrays/Day2207/Assignment new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Topic1_Arrays/Day2207/Assignment @@ -0,0 +1 @@ + From bd073dba423a028ee184f54d8fa695dd1c808a5a Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:55:08 +0700 Subject: [PATCH 2/8] Delete Topic1_Arrays/Day2207/Assignment --- Topic1_Arrays/Day2207/Assignment | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Topic1_Arrays/Day2207/Assignment diff --git a/Topic1_Arrays/Day2207/Assignment b/Topic1_Arrays/Day2207/Assignment deleted file mode 100644 index 8b13789..0000000 --- a/Topic1_Arrays/Day2207/Assignment +++ /dev/null @@ -1 +0,0 @@ - From 36360290a9f6e22b60cd616724dcc8ddf06e0e21 Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:57:18 +0700 Subject: [PATCH 3/8] Create 1.txt --- Topic1_Arrays/Day2207/AssignmentsHomework/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 Topic1_Arrays/Day2207/AssignmentsHomework/1.txt diff --git a/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt b/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt @@ -0,0 +1 @@ + From 5700f0ad08b49c3068f0c0123f62dc0cf08291cc Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:01:16 +0700 Subject: [PATCH 4/8] Update 1.txt --- .../Day2207/AssignmentsHomework/1.txt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt b/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt index 8b13789..f825bcf 100644 --- a/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt +++ b/Topic1_Arrays/Day2207/AssignmentsHomework/1.txt @@ -1 +1,22 @@ +//Using two loop to solve problem. That way is save memory so much but i think it isn't the best solution. +class Solution { +public: + vector twoSum(vector& nums, int target) { + vector TwoNumber; + for(int i = 0; i < nums.size(); i++) + { + for(int j = i + 1; j < nums.size(); j++) + { + if(nums[i] + nums[j] == target) + { + TwoNumber.push_back(i); + TwoNumber.push_back(j); + break; + } + } + if(TwoNumber.size() == 2) break; + } + return TwoNumber; + } +}; From 1e3bd3a8a859a5572a12b49fb27a6fde6b92a86a Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:01:41 +0700 Subject: [PATCH 5/8] Create 2.txt --- Topic1_Arrays/Day2207/AssignmentsHomework/2.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 Topic1_Arrays/Day2207/AssignmentsHomework/2.txt diff --git a/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt b/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt @@ -0,0 +1 @@ + From cd7b8a812d1fb781f38b6e4dc72c6d22e0c02fe4 Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:48:35 +0700 Subject: [PATCH 6/8] Update 2.txt --- .../Day2207/AssignmentsHomework/2.txt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt b/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt index 8b13789..87e950f 100644 --- a/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt +++ b/Topic1_Arrays/Day2207/AssignmentsHomework/2.txt @@ -1 +1,36 @@ +// Using two loop to get each element in vector and check if this is '1', i will use Try function to delete all character beside that. +// But this is a common way and not quickly and not efficiently +class Solution { +public: + void Try(int i, int j, vector> &temp){ + if(i + 1 < temp.size() && temp[i + 1][j] == '1') { + temp[i + 1][j] = '0'; + Try(i + 1, j, temp); + } + if(i - 1 >= 0 && temp[i - 1][j] == '1') { + temp[i - 1][j] = '0'; + Try(i - 1, j, temp); + } + if(j - 1 >= 0 && temp[i][j - 1] == '1') { + temp[i][j - 1] = '0'; + Try(i, j - 1, temp); + } + if(j + 1 < temp[i].size() && temp[i][j + 1] == '1') { + temp[i][j + 1] = '0'; + Try(i, j + 1, temp); + } + } + int numIslands(vector>& grid) { + int count = 0; + for(int i = 0; i < grid.size(); i++){ + for(int j = 0; j < grid[i].size(); j++){ + if(grid[i][j] == '1'){ + count ++; + Try(i, j, grid); + } + } + } + return count; + } +}; From b97fc785c05beb882c076a74b778c5775b315a49 Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:50:52 +0700 Subject: [PATCH 7/8] Create 3.txt --- Topic1_Arrays/Day2207/AssignmentsHomework/3.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 Topic1_Arrays/Day2207/AssignmentsHomework/3.txt diff --git a/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt b/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt @@ -0,0 +1 @@ + From c3a60abfd9295220b277d54d1502b08348f5f864 Mon Sep 17 00:00:00 2001 From: TrungHau <144112290+23020061@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:52:45 +0700 Subject: [PATCH 8/8] Update 3.txt --- .../Day2207/AssignmentsHomework/3.txt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt b/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt index 8b13789..ace7d3b 100644 --- a/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt +++ b/Topic1_Arrays/Day2207/AssignmentsHomework/3.txt @@ -1 +1,29 @@ +// Using the way same as Merge Sort to solve the problem. +// I think that is the popular solution. +class Solution { +public: + void merge(vector& nums1, int m, vector& nums2, int n) { + vector temp_nums1(nums1); + int indexNums1 = 0, indexNums2 = 0, index_res = 0; + while(indexNums1 < m && indexNums2 < n) + { + if(temp_nums1[indexNums1] > nums2[indexNums2]){ + nums1[index_res] = nums2[indexNums2]; + indexNums2++; + } + else { + nums1[index_res] = temp_nums1[indexNums1]; + indexNums1++; + } + index_res++; + } + while(indexNums1 < m){ + nums1[index_res++] = temp_nums1[indexNums1++]; + } + while(indexNums2 < n){ + nums1[index_res++] = nums2[indexNums2++]; + } + } + +};