Leetcode 16. 最接近的三數之和(3Sum Closest)

解法一:
?

class Solution {
public:int threeSumClosest(vector<int>& nums, int target) {int closest = nums[0] + nums[1] + nums[2];int diff = abs(closest - target);sort(nums.begin(), nums.end());for (int i = 0; i < nums.size() - 2; ++i) {int left = i + 1, right = nums.size() - 1;while (left < right) {int sum = nums[i] + nums[left] + nums[right];int newDiff = abs(sum - target);if (diff > newDiff) {diff = newDiff;closest = sum;}if (sum < target) ++left;else --right;}}return closest;}
};

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385491.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385491.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385491.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BMP格式詳解

BMP&#xff08;全稱Bitmap&#xff09;是Windows操作系統中的標準圖像文件格式&#xff0c;可以分成兩類&#xff1a;設備相關位圖&#xff08;DDB&#xff09;和設備無關位圖&#xff08;DIB&#xff09;&#xff0c;使用非常廣。它采用位映射存儲格式&#xff0c;除了圖像深…

Leetcode 5. 最長回文子串(Longest Palindromic Substring)

推薦理由&#xff1a;暴力解法太 naive&#xff0c;中心擴散不普適&#xff0c;Manacher 就更不普適了&#xff0c;是專門解這個問題的方法。而用動態規劃我認為是最有用的&#xff0c;可以幫助你舉一反三的方法。 補充說明&#xff1a;Manacher 算法有興趣的朋友們可以了解一…

請求轉發與請求重定向的區別

請求轉發&#xff1a; 請求轉發&#xff0c;即request.getRequestDispatcher().forward()&#xff0c;是一種服務器的行為&#xff0c;客戶端只有一次請求&#xff0c;服務器端轉發后會將請求對象保存&#xff0c;地址欄中的URL地址不會改變&#xff0c;得到響應后服務器端再將…

StringBuilder詳解

1、簡介 StringBuilder和StringBuffer一樣&#xff0c;都是繼承自抽象類AbstractStringBuilder類&#xff0c;也是一個可變的字符序列。StringBuilder和StringBuffer非常相似&#xff0c;甚至有互相兼容的API&#xff0c;不過&#xff0c;StringBuilder不是線程安全的&#xf…

【線程】互斥鎖

一、互斥鎖 1. 函數原型 pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr); pthread_mutex_destroy(pthread_mutex_t *mutex); 分析&#xff1a; pthread_mutex_t 類型&#xff0c;其本質是一個結構體&#xff0c;為簡化…

ArrayList詳解

1、簡介 ArrayList是Java集合框架中的一個重要的類&#xff0c;它繼承于AbstractList&#xff0c;實現了List接口&#xff0c;是一個長度可變的集合&#xff0c;提供了增刪改查的功能。集合中允許null的存在。ArrayList類還是實現了RandomAccess接口&#xff0c;可以對元素進行…

【進程】進程組

一、進程組 1. 進程組 &#xff08;1&#xff09;進程組&#xff0c;也稱之為作業&#xff0c;BSD與1980年前后向UNIX中增加的一個新特性&#xff0c;代表一個或多個進程的集合。每個進程都屬于一個進程組&#xff0c;在waitpid函數和kill函數的參數中都曾經使用到&#xff0c…

函數wait、waitpid、孤兒進程、僵尸進程

一、函數wait、waitpid 一個進程在終止時會關閉所有文件描述符&#xff0c;釋放在用戶空間釋放的內存&#xff0c;但它的PCB還保留著&#xff0c;內核在其中保存一些信息&#xff1a;如果是正常終止時則保存著退出狀態&#xff0c;如果是異常終止則保存著導致該進程終止的信號是…

MySQL中的字符集與字符序

這篇文章詳細介紹一下MySQL中的字符集和字符序相關的問題&#xff0c;里里外外地了解一下字符集和字符序的方方面面&#xff0c;同時重點說明一下開發中需要注意的問題。 文章基于MySQL 8.0&#xff0c;也會涉及到5.7版本。主要參考MySQL手冊&#xff1a;https://dev.mysql.com…

MySQL中的JSON

從5.7.8開始&#xff0c;MySQL開始支持JSON類型&#xff0c;用于存儲JSON數據。 JSON類型的加入模糊了關系型數據庫與NoSQL之間的界限&#xff0c;給日常開發也帶來了很大的便利。 這篇文章主要介紹一下MySQL中JSON類型的使用&#xff0c;主要參考MySQL手冊&#xff1a;https…

【C++ Primer | 15】虛函數表剖析(一)

一、虛函數 1. 概念 多態指當不同的對象收到相同的消息時&#xff0c;產生不同的動作 編譯時多態&#xff08;靜態綁定&#xff09;&#xff0c;函數重載&#xff0c;運算符重載&#xff0c;模板。運行時多態&#xff08;動態綁定&#xff09;&#xff0c;虛函數機制。為了實現…

【Leetcode | 02】二叉樹、線性表目錄

二叉樹序號題號1 94. 二叉樹的中序遍歷 295. 不同的二叉搜索樹 II396. 不同的二叉搜索樹4 98. 驗證二叉搜索樹 5100. 相同的樹6101. 對稱二叉樹7102. 二叉樹的層次遍歷8103. 二叉樹的鋸齒形層次遍歷9104. 二叉樹的最大深度10105. 從前序與中序遍歷序列構造二叉樹11106. 從中序與…

Leetcode 118. 楊輝三角

給定一個非負整數 numRows&#xff0c;生成楊輝三角的前 numRows 行。 在楊輝三角中&#xff0c;每個數是它左上方和右上方的數的和。 示例: 輸入: 5 輸出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1] ] class Solution { public:vector<vector<int>> generate(…

管道符、重定向與環境變量

輸入輸出重定向 輸入重定向&#xff1a;將文件內容導入到命令中&#xff1b;輸出重定向&#xff1a;將命令執行后顯示到屏幕上的內容導入到文件中&#xff0c;不在屏幕中顯示。共分為&#xff1a;標準輸入重定向&#xff08;文件描述符為0&#xff09;、標準覆蓋輸出&#xff0…

【C++ Primer | 0 】字符串函數實現

1. memcpy函數原型&#xff1a; void* memcpy(void* dst, const void* src, size_t size); void* memmove(void* dst, const void* src, size_t size); 分析&#xff1a; source和destin所指的內存區域可能重疊&#xff0c;但是如果source和destin所指的內存區域重疊,那么這個…

編寫Shell腳本(批處理,一次執行多條命令)

Bash終端的優勢&#xff1a;1.上下鍵重復執行命令&#xff1b;2.tab鍵自動補齊&#xff1b;3.提供有用的環境變量&#xff1b;4.批處理。 shell腳本文件建議以.sh為后綴。 其實vim創建文本文件時&#xff0c;對名字無要求&#xff0c;但最好規定格式。 echo $SHELL&#xff08…

判斷用戶的參數(條件測試語句)

說明$?: $&#xff1f;為上一次命令的執行返回值&#xff0c;若上一次命令正常執行&#xff0c;則返回0&#xff1b;若執行出錯&#xff0c;則返回一個非0的隨機數。比如創建一個已經存在的目錄&#xff0c;則返回一個非0數。 另外&#xff0c;測試語句成立返回0&#xff0c…