From 9092d95243894186832cdd7941e9a6de378edd53 Mon Sep 17 00:00:00 2001 From: 193****0769 <1592888761@qq.com> Date: Thu, 19 Oct 2023 12:38:53 +0000 Subject: [PATCH 1/6] 333 --- .../\344\270\244\346\225\260\344\271\213\345\222\214.cpp.c" | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 "2224020097/chapter1/\344\270\244\346\225\260\344\271\213\345\222\214.cpp.c" diff --git "a/2224020097/chapter1/\344\270\244\346\225\260\344\271\213\345\222\214.cpp.c" "b/2224020097/chapter1/\344\270\244\346\225\260\344\271\213\345\222\214.cpp.c" new file mode 100644 index 00000000..139597f9 --- /dev/null +++ "b/2224020097/chapter1/\344\270\244\346\225\260\344\271\213\345\222\214.cpp.c" @@ -0,0 +1,2 @@ + + -- Gitee From 9609f68521a9731bdf065e1e064762b355bf2fd8 Mon Sep 17 00:00:00 2001 From: 193****0769 <1592888761@qq.com> Date: Thu, 19 Oct 2023 12:39:02 +0000 Subject: [PATCH 2/6] 333 -- Gitee From 613cec10873bcf7907241e36a27acc1a335bcd92 Mon Sep 17 00:00:00 2001 From: 193****0769 <1592888761@qq.com> Date: Thu, 19 Oct 2023 12:39:04 +0000 Subject: [PATCH 3/6] 333 -- Gitee From 31267a6d29a8590a521bcef409d0ac3353d6bcd3 Mon Sep 17 00:00:00 2001 From: 193****0769 <1592888761@qq.com> Date: Thu, 19 Oct 2023 12:57:30 +0000 Subject: [PATCH 4/6] 2224020097 --- ...244\346\225\260\344\271\213\345\222\214.c" | 36 +++++++++++++++++++ ...260\347\273\204\347\232\204\345\222\214.c" | 29 +++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 "\344\270\244\346\225\260\344\271\213\345\222\214.c" create mode 100644 "\346\211\200\346\234\211\345\245\207\346\225\260\351\225\277\345\272\246\345\255\220\346\225\260\347\273\204\347\232\204\345\222\214.c" diff --git "a/\344\270\244\346\225\260\344\271\213\345\222\214.c" "b/\344\270\244\346\225\260\344\271\213\345\222\214.c" new file mode 100644 index 00000000..cd06e955 --- /dev/null +++ "b/\344\270\244\346\225\260\344\271\213\345\222\214.c" @@ -0,0 +1,36 @@ +#include +#include + +typedef struct { + int target; + int* nums; + int numsSize; +} TwoSum; + +TwoSum* twoSumCreate(int* nums, int numsSize, int target) { + TwoSum* obj = (TwoSum*)malloc(sizeof(TwoSum)); + obj->target = target; + obj->nums = nums; + obj->numsSize = numsSize; + return obj; +} + +int* twoSumAdd(TwoSum* obj, int number) { + int complement; + int* result = (int*)malloc(2 * sizeof(int)); + + for (int i = 0; i < obj->numsSize; i++) { + complement = obj->target - obj->nums[i]; + if (complement == number) { + result[0] = i; + result[1] = number; + return result; + } + } + + return NULL; +} + +void twoSumFree(TwoSum* obj) { + free(obj); +} diff --git "a/\346\211\200\346\234\211\345\245\207\346\225\260\351\225\277\345\272\246\345\255\220\346\225\260\347\273\204\347\232\204\345\222\214.c" "b/\346\211\200\346\234\211\345\245\207\346\225\260\351\225\277\345\272\246\345\255\220\346\225\260\347\273\204\347\232\204\345\222\214.c" new file mode 100644 index 00000000..d08ba741 --- /dev/null +++ "b/\346\211\200\346\234\211\345\245\207\346\225\260\351\225\277\345\272\246\345\255\220\346\225\260\347\273\204\347\232\204\345\222\214.c" @@ -0,0 +1,29 @@ +#include +#include + +int sumOddLengthSubarrays(int* arr, int arrSize) { + int sum = 0; + + for (int i = 0; i < arrSize; i++) { + int leftCount = i + 1; + int rightCount = arrSize - i; + int leftOdd = (leftCount + 1) / 2; + int rightOdd = rightCount / 2; + int leftEven = leftCount / 2; + int rightEven = (rightCount + 1) / 2; + + sum += arr[i] * (leftOdd * rightOdd + leftEven * rightEven); + } + + return sum; +} + +int main() { + int arr[] = {1, 4, 2, 5, 3}; + int arrSize = sizeof(arr) / sizeof(arr[0]); + + int result = sumOddLengthSubarrays(arr, arrSize); + printf("Sum of all odd length subarrays: %d\n", result); + + return 0; +} -- Gitee From 3e8dd966a4cd30b2ca5a7a12ff71da49fcce371c Mon Sep 17 00:00:00 2001 From: 193****0769 <1592888761@qq.com> Date: Thu, 19 Oct 2023 12:57:37 +0000 Subject: [PATCH 5/6] 2224020097 -- Gitee From 4e12fe78d9a39cf6484d82ba79b0c31807c0add5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=B9=E8=83=9C=E6=9E=97?= <1592888761@qq.com> Date: Fri, 8 Dec 2023 07:05:57 +0000 Subject: [PATCH 6/6] =?UTF-8?q?7=E7=AB=A0=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 尹胜林 <1592888761@qq.com> --- 2224020097/7.3.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++ 2224020097/7.4.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 2224020097/7.3.cpp create mode 100644 2224020097/7.4.cpp diff --git a/2224020097/7.3.cpp b/2224020097/7.3.cpp new file mode 100644 index 00000000..35375a07 --- /dev/null +++ b/2224020097/7.3.cpp @@ -0,0 +1,44 @@ +#include +#include + +// 二叉树结点结构 +typedef struct TreeNode { + int data; + struct TreeNode* left; + struct TreeNode* right; +} TreeNode; + +// 创建结点 +TreeNode* createNode(int data) { + TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); + newNode->data = data; + newNode->left = NULL; + newNode->right = NULL; + return newNode; +} + +// 后序遍历二叉树 +void postorderTraversal(TreeNode* root) { + if (root == NULL) { + return; + } + postorderTraversal(root->left); + postorderTraversal(root->right); + printf("%d ", root->data); +} + +int main() { + // 创建二叉树 + TreeNode* root = createNode(1); + root->left = createNode(2); + root->right = createNode(3); + root->left->left = createNode(4); + root->left->right = createNode(5); + + // 后序遍历二叉树 + printf("后序遍历结果为: "); + postorderTraversal(root); + printf("\n"); + + return 0; +} diff --git a/2224020097/7.4.cpp b/2224020097/7.4.cpp new file mode 100644 index 00000000..624cac3f --- /dev/null +++ b/2224020097/7.4.cpp @@ -0,0 +1,48 @@ +#include +#include +using namespace std; + +// 二叉树节点的定义 +struct TreeNode { + int val; + TreeNode* left; + TreeNode* right; + TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} +}; + +// 层次遍历函数 +void levelOrderTraversal(TreeNode* root) { + if (root == nullptr) { + return; + } + + queue q; + q.push(root); + + while (!q.empty()) { + TreeNode* current = q.front(); + q.pop(); + cout << current->val << " "; + + if (current->left != nullptr) { + q.push(current->left); + } + if (current->right != nullptr) { + q.push(current->right); + } + } +} + +int main() { + // 创建一棵二叉树 + TreeNode* root = new TreeNode(1); + root->left = new TreeNode(2); + root->right = new TreeNode(3); + root->left->left = new TreeNode(4); + root->left->right = new TreeNode(5); + + // 执行层次遍历 + levelOrderTraversal(root); + + return 0; +} -- Gitee