算法----K 和數對的最大數目

題目

給你一個整數數組 nums 和一個整數 k 。

每一步操作中,你需要從數組中選出和為 k 的兩個整數,并將它們移出數組。

返回你可以對數組執行的最大操作數。

示例 1:

輸入:nums = [1,2,3,4], k = 5
輸出:2
解釋:開始時 nums = [1,2,3,4]:

  • 移出 1 和 4 ,之后 nums = [2,3]
  • 移出 2 和 3 ,之后 nums = []
    不再有和為 5 的數對,因此最多執行 2 次操作。
    示例 2:

輸入:nums = [3,1,3,4,3], k = 6
輸出:1
解釋:開始時 nums = [3,1,3,4,3]:

  • 移出前兩個 3 ,之后nums = [1,4,3]
    不再有和為 6 的數對,因此最多執行 1 次操作。

提示:

1 <= nums.length <= 105
1 <= nums[i] <= 109
1 <= k <= 109

解決思路

其實就是看有幾對和為K 那這樣的話 用Map吧 記錄每個數的個數 然后計算
has 確實算是個方法 不用排序了

解決方法

    fun maxOperations(nums: IntArray, k: Int): Int {var map = mutableMapOf<Int, Int>()var result = 0nums.forEach {map[it] = map.getOrDefault(it, 0) + 1}nums.forEach {if (it == k - it && map[it]!! < 2) {return@forEach}if (map.contains(k - it) && map[k - it]!! >= 1&& map[it]!! >= 1) {result++map[it] = map[it]!! - 1map[k - it] = map[k - it]!! - 1}}return result}

總結

短視頻興起了,我卻錯過了我那個最無畏,最不要臉的年代。

別搞那么沒用的,包括但不限于:無用的言論、無用的抱怨、無用的脾氣、無用的垂頭喪氣 問問自己 這個事情 你反感有用嗎?這是工作,你怎么樣都要做!

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

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

相關文章

C++聯合體union

聯合體 將多個類型合并到一起省空間 枚舉與聯合一起使用 匿名聯合 類似于無作用域 &#xff23;11聯合體定義非內建類型 C11 引入了能夠在聯合體中使用非內建類型的能力&#xff0c;這些類型包括具有自定義構造函數、析構函數、拷貝構造函數和拷貝賦值運算符的類。 關鍵特性…

程序員提高效率的 10 個方法

前端面試題庫 &#xff08;面試必備&#xff09; 推薦&#xff1a;★★★★★ 地址&#xff1a;前端面試題庫 1. 早上不要開會 &#x1f4c5; 每個人一天是 24 小時&#xff0c;時間是均等的&#xff0c;但是時間的價值卻不是均等的&#xff0c;早上 1 小時的價值…

【C語言快速學習基礎篇】之二控制語句、循環語句

文章目錄 一、控制語句1.1、if...else...單條件語句1.2、if...else if...else...多條件語句1.3、switch...case 二、循環語句2.1、for循環2.2、while循環2.3、注意&#xff1a;for循環和while循環使用上面等同2.4、do while循環2.4.1、while條件成立時2.4.2、while條件不成立時…

VMware虛機啟動報dm0 internal error xfs_want_corrupted_goto at line 1727 報錯,虛機進入救援模式

k8s虛機k8s-master01節點虛機開機啟動進入救援模式&#xff0c;提示 internal error xfs_want_corrupted_goto at line 1727 報錯 進入救援模式后無法執行其它命令&#xff0c;只能先查詢相關報錯&#xff0c;再進行修復 處理辦法&#xff1a; 1、查看相關報錯信息 # jour…

BluetoothDevice 序列化問題

文章目錄 前言思考分析定位 前言 在做藍牙設備通信時&#xff0c;遇到一個奇葩的問題&#xff0c;公司另一個部門開發的藍牙組件庫&#xff0c;把藍牙設備BluetoothDevice進行了序列化&#xff0c;在連接時候又進行反序列化。但是當我去調試我的項目時&#xff0c;發現發序列化…

人大金倉證書過期問題

select count(*) from sys_stat_activity select GET_LICENSE_VALIDDAYS(); 試用企業版3個月到期后&#xff0c;改為專業版&#xff0c;有效期仍是3個月 1、在kingbase用戶下執行sys_ctl -D data start時報錯 ./sys_ctl -D /home/kingbase/KingbaseES/data start 等待服務器進…

P1160 隊列安排

這很明顯是一個鏈表的題目&#xff0c;考鏈表的基礎知識 開始先定義了一個結構體節點&#xff0c;里面有一個val和一個指向node結構體的指針next 然后通過typedf將linkedlist表示為一個指向node的指針 insert代表右插入 push是左插入 #include <iostream> using nam…

[足式機器人]Part2 Dr. CAN學習筆記-自動控制原理Ch1-3燃燒卡路里-系統分析實例

本文僅供學習使用 本文參考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN學習筆記-自動控制原理Ch1-3燃燒卡路里-系統分析實例 1. 數學模型2. 比例控制 Proprotional Control 1. 數學模型 2. 比例控制 Proprotional Control

建筑工程企業網站建設的效果如何

建筑工程團隊也是市場重要的組成部分&#xff0c;尤其是建筑公司&#xff0c;往往更具品牌力&#xff0c;而在企業發展方面也面臨多個痛點&#xff1a; 1、品牌宣傳拓客難 建筑工程屬于高價、長時間跟進的行業&#xff0c;因此無論需求者還是商家都非常看重企業品牌及業務縱深…

C++學習筆記(十三)

一、C對象模型和this指針 1.1 成員變量和成員函數分開存儲 在C中&#xff0c;類內的成員變量和成員函數分開存儲 只有非靜態成員變量才屬于類的對象 #include <iostream>using namespace std;class a1 {};class a2 {int a; };class a3 {int a;static int b; };class …

基于ssm端游賬號銷售管理系統論文

摘 要 互聯網發展至今&#xff0c;無論是其理論還是技術都已經成熟&#xff0c;而且它廣泛參與在社會中的方方面面。它讓信息都可以通過網絡傳播&#xff0c;搭配信息管理工具可以很好地為人們提供服務。針對端游賬號銷售信息管理混亂&#xff0c;出錯率高&#xff0c;信息安全…

讓你從此不再懼怕ANR

原文鏈接 讓你從此不再懼怕ANR 這篇文章是基于官方的Diagnose and fix ANRs翻譯而來&#xff0c;但也不是嚴格的翻譯&#xff0c;原文的內容都在&#xff0c;又加上了自己的理解以及自己的經驗&#xff0c;以譯注的形式對原文的作一些補充。 當一個Android應用的UI線程被阻塞時…

[排序篇] 冒泡排序

目錄 一、概念 二、冒泡排序 2.1 冒泡降序(從大到小排序) 2.2 冒泡升序(從小到大排序) 三、冒泡排序應用 總結 一、概念 冒泡排序核心思想&#xff1a;每次比較兩個相鄰的元素&#xff0c;如果它們不符合排序規則&#xff08;升序或降序&#xff09;則把它們交換過來。…

Linux內存管理(十七):percpu 機制(2)——動態分配

源碼基于:Linux5.4 約定: 芯片架構:ARM64內存架構:UMACONFIG_ARM64_VA_BITS:39CONFIG_ARM64_PAGE_SHIFT:12CONFIG_PGTABLE_LEVELS :3關聯博文: percpu機制(1)——框架實現 percpu機制(2)——動態分配 0. 前言 上一篇博文 我們剖析了 percpu 機制的整個框架,包括per…

大致人類應該是短時記憶和利用短時記憶控制利用周圍環境達到長期記憶的吧

這里寫目錄標題 圖代碼代碼解析圖 代碼 import timedef route_llm(route_text):passdef write_to_dask(one_sum, one_text, one_path

小程序嵌套H5

小程序嵌套H5 使用Hbuild x開發H5頁面項目里面使用了js-sdk工具包H5發布完成之后生成URL。新建一個小程序空項目&#xff0c;填寫小程序的appid。本地調試的時候如果報錯無法打開該網頁&#xff0c;那么需要勾選先的不校驗。發布體驗版本需要注意下面的兩個配置點。 使用Hbuild…

中通快遞單號查詢入口,將指定某天簽收的單號篩選出來

批量查詢中通快遞單號的物流信息&#xff0c;將指定某天簽收的單號篩選出來。 所需工具&#xff1a; 一個【快遞批量查詢高手】軟件 中通快遞單號若干 操作步驟&#xff1a; 步驟1&#xff1a;運行【快遞批量查詢高手】軟件&#xff0c;并登錄 步驟2&#xff1a;點擊主界面左…

Spring Boot中JdbcTemplate多數據源配置

作者簡介&#xff1a;大家好&#xff0c;我是擼代碼的羊駝&#xff0c;前阿里巴巴架構師&#xff0c;現某互聯網公司CTO 聯系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我進群&#xff0c;大家一起學習&#xff0c;一起進步&#xff0c;一起對抗…

編譯 Flink代碼

構建環境 JDK1.8以上和Maven 3.3.x可以構建Flink&#xff0c;但是不能正確地遮蓋某些依賴項。Maven 3.2.5會正確創建庫。所以這里使用為了減少問題選擇 Maven3.2.5版本進行構建。要構建單元測試&#xff0c;請使用Java 8以上&#xff0c;以防止使用PowerMock運行器的單元測試失…

云計算核心技術

1.1 云計算的定義 云計算是目前業內的熱點概念&#xff0c;它以開放的標準和服務為基礎&#xff0c;以互聯網為中心&#xff0c;提供安全、快速、便捷的數據存儲和網絡計算服務&#xff0c;讓互聯網這片“云”上的各種計算機共同組成數個龐大的數據中心及計算中心。它可以被看成…