From 0f1da229b99877c20bb73354d08db64d11b9352a Mon Sep 17 00:00:00 2001 From: estomm Date: Mon, 2 Aug 2021 08:56:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=91=E5=B9=BB=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工作日志/2021年8月1日-科幻系列总结.md | 46 +++++++++++++++++ 算法/B类:数据结构算法/4.2 链表与双指针.md | 59 ++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 工作日志/2021年8月1日-科幻系列总结.md diff --git a/工作日志/2021年8月1日-科幻系列总结.md b/工作日志/2021年8月1日-科幻系列总结.md new file mode 100644 index 00000000..81e1342d --- /dev/null +++ b/工作日志/2021年8月1日-科幻系列总结.md @@ -0,0 +1,46 @@ +# 科幻世界中的电话元素 + + +## 资料准备 + + + + + +## 讲解主题 + + +### 电影 +(漫威系列的就算了) + +* 黑客帝国 +* 信条 +* 盗梦空间 +* 星际穿越 +* 机器人总动员 + +### 小说 + +* 短篇小说 +* 科幻世界全集 + +### 动漫 + +* 攻壳机动队 +* rick&morty +* 哆啦A梦 +* 命运石之门 +* 爱死亡机器人 +* 机器人总动员 +* 心理测量者 +* iMENTOR +* 夏娃的时间 +* 新世纪福音战士 +* 星空清理者 +* 星际牛仔 + + +### 电视剧 + +* 黑镜 +* 西部世界 \ No newline at end of file diff --git a/算法/B类:数据结构算法/4.2 链表与双指针.md b/算法/B类:数据结构算法/4.2 链表与双指针.md index f8d24323..38a44d38 100644 --- a/算法/B类:数据结构算法/4.2 链表与双指针.md +++ b/算法/B类:数据结构算法/4.2 链表与双指针.md @@ -144,6 +144,65 @@ public: } ``` +## 4 最接近的三数之和 + +### 问题描述 +给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 + +``` +输入:nums = [-1,2,1,-4], target = 1 +输出:2 +解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。 +``` +### 问题分析 + +### 策略选择 + +### 算法设计 +* 首先进行排序 +* 固定一个游标。使得剩下的两个游标在固定的游标右侧,使用双指针法,逼近最小值。 +### 算法分析 +* 时间复杂度O(n^2) +* 空间复杂度O(1) +### 算法实现 + +```C++ +class Solution { +public: + int threeSumClosest(vector& nums, int target) { + sort(nums.begin(),nums.end()); + int n = nums.size(); + int i=0,j=n-1,k=0; + int m = 999999; + int val =0; + for(int k=0;ktarget-temp){ + m=target-temp; + val = temp; + + } + i++; + } + else if(temp>target){ + if(m>temp-target){ + m=temp-target; + val =temp; + } + j--; + } + // cout<