From 8b0126ecb31e15fafafb84873de4978ab5c59ee8 Mon Sep 17 00:00:00 2001 From: Rain&Bus Date: Wed, 10 Sep 2025 10:23:05 +0800 Subject: [PATCH] vault backup: 2025-09-10 10:23:05 --- .obsidian/workspace.json | 10 +++++----- Books/代码随想录/代码模版.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 Books/代码随想录/代码模版.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 8b4ea2d..86c2ca9 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "Research/FSL/提示工程.md", + "file": "Books/代码随想录/代码模版.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "提示工程" + "title": "代码模版" } } ] @@ -198,8 +198,9 @@ }, "active": "229ca4be3afd5932", "lastOpenFiles": [ - "Paper/FSL Image Classification/Context Attribute words for Prompt Tuning.md", "Research/FSL/提示工程.md", + "Books/代码随想录/代码模版.md", + "Paper/FSL Image Classification/Context Attribute words for Prompt Tuning.md", "Research/FSL", "Research", "conflict-files-obsidian-git.md", @@ -234,7 +235,6 @@ "Books/动手学深度学习/基础概念.md", "liangOpenVocabularySemanticSegmentation2023.md", "Books/HDLBits/Verilog.md", - "Record/Linux/常用软件.md", - "Books/编译原理/Overview.md" + "Record/Linux/常用软件.md" ] } \ No newline at end of file diff --git a/Books/代码随想录/代码模版.md b/Books/代码随想录/代码模版.md new file mode 100644 index 0000000..6629d46 --- /dev/null +++ b/Books/代码随想录/代码模版.md @@ -0,0 +1,36 @@ +# 数组 +## 二分 +```python +def binary_search(nums, target): + left, right = 0, len(nums) - 1 + while left <= right: + mid = left + (right - left) // 2 # 防止溢出 + if nums[mid] == target: + return mid # 找到目标,返回索引 + elif nums[mid] < target: + left = mid + 1 # 目标在右半部分 + else: + right = mid - 1 # 目标在左半部分 + return -1 # 未找到目标 + +# 左右边界 +def left_bound(nums, target): + left, right = 0, len(nums) - 1 + while left <= right: + mid = left + (right - left) // 2 + if nums[mid] < target: + left = mid + 1 + else: + right = mid - 1 + return left if left < len(nums) and nums[left] == target else -1 +def right_bound(nums, target): + left, right = 0, len(nums) - 1 + while left <= right: + mid = left + (right - left) // 2 + if nums[mid] <= target: + left = mid + 1 + else: + right = mid - 1 + return right if right >= 0 and nums[right] == target else -1 + +```