【LeetCode:2824. 統計和小于目標的下標對數目 | 模擬+二分】

在這里插入圖片描述

🚀 算法題 🚀

🌲 算法刷題專欄 | 面試必備算法 | 面試高頻算法 🍀
🌲 越難的東西,越要努力堅持,因為它具有很高的價值,算法就是這樣?
🌲 作者簡介:碩風和煒,CSDN-Java領域新星創作者🏆,保研|國家獎學金|高中學習JAVA|大學完善JAVA開發技術棧|面試刷題|面經八股文|經驗分享|好用的網站工具分享💎💎💎
🌲 恭喜你發現一枚寶藏博主,趕快收入囊中吧🌻
🌲 人生如棋,我愿為卒,行動雖慢,可誰曾見我后退一步?🎯🎯

🚀 算法題 🚀

在這里插入圖片描述

在這里插入圖片描述

🍔 目錄

    • 🚩 題目鏈接
    • ? 題目描述
    • 🌟 求解思路&實現代碼&運行結果
      • ? 模擬
        • 🥦 求解思路
        • 🥦 實現代碼
        • 🥦 運行結果
      • ? 二分
        • 🥦 求解思路
        • 🥦 實現代碼
        • 🥦 運行結果
    • 💬 共勉

🚩 題目鏈接

  • 2824. 統計和小于目標的下標對數目

? 題目描述

給你一個下標從 0 開始長度為 n 的整數數組 nums 和一個整數 target ,請你返回滿足 0 <= i < j < n 且 nums[i] + nums[j] < target 的下標對 (i, j) 的數目。

示例 1:

輸入:nums = [-1,1,2,3,1], target = 2
輸出:3
解釋:總共有 3 個下標對滿足題目描述:

  • (0, 1) ,0 < 1 且 nums[0] + nums[1] = 0 < target
  • (0, 2) ,0 < 2 且 nums[0] + nums[2] = 1 < target
  • (0, 4) ,0 < 4 且 nums[0] + nums[4] = 0 < target
    注意 (0, 3) 不計入答案因為 nums[0] + nums[3] 不是嚴格小于 target 。
    示例 2:

輸入:nums = [-6,2,5,-2,-7,-1,3], target = -2
輸出:10
解釋:總共有 10 個下標對滿足題目描述:

  • (0, 1) ,0 < 1 且 nums[0] + nums[1] = -4 < target
  • (0, 3) ,0 < 3 且 nums[0] + nums[3] = -8 < target
  • (0, 4) ,0 < 4 且 nums[0] + nums[4] = -13 < target
  • (0, 5) ,0 < 5 且 nums[0] + nums[5] = -7 < target
  • (0, 6) ,0 < 6 且 nums[0] + nums[6] = -3 < target
  • (1, 4) ,1 < 4 且 nums[1] + nums[4] = -5 < target
  • (3, 4) ,3 < 4 且 nums[3] + nums[4] = -9 < target
  • (3, 5) ,3 < 5 且 nums[3] + nums[5] = -3 < target
  • (4, 5) ,4 < 5 且 nums[4] + nums[5] = -8 < target
  • (4, 6) ,4 < 6 且 nums[4] + nums[6] = -4 < target

提示:

1 <= nums.length == n <= 50
-50 <= nums[i], target <= 50

🌟 求解思路&實現代碼&運行結果


? 模擬

🥦 求解思路
  1. 通過題目的要求,以及給定的數據量,直接暴力枚舉即可。
  2. 具體實現代碼如下:
🥦 實現代碼
class Solution {public int countPairs(List<Integer> nums, int target) {int n=nums.size();int cnt=0;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){if(nums.get(i)+nums.get(j)<target) cnt++;}}return cnt;}
}
🥦 運行結果

在這里插入圖片描述

? 二分

🥦 求解思路
  1. 題目的順序對于最終的結果并沒有影響,所以,我們可以先對集合排序,然后遍歷每一個元素v,找到小于target-v最右側的元素位置。
  2. 收集答案的過程中,需要注意的是,如果二分沒有找到對應的下標位置,還是之前位置的下標,此時最終結果不更新,相反,則需要更新。
  3. 具體實現代碼如下:
🥦 實現代碼
class Solution {public int countPairs(List<Integer> nums, int target) {int n=nums.size();int cnt=0;Collections.sort(nums);for(int i=0;i<n;i++){int left=i-1,right=n;while(left+1<right){int mid=left+right>>1;if(nums.get(mid)<target-nums.get(i)){left=mid;}else{right=mid;}}if(left!=i-1) cnt+=(left-i);}return cnt;}
}
🥦 運行結果

在這里插入圖片描述


💬 共勉

最后,我想和大家分享一句一直激勵我的座右銘,希望可以與大家共勉!

在這里插入圖片描述

在這里插入圖片描述

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

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

相關文章

ubuntu22.04中ros2 安裝rosbridge

ros2 啟動rosbridge&#xff1a; 要啟動ROS2中的rosbridge&#xff0c;需要先安裝ROS2的rosbridge_suite軟件包。使用以下命令安裝&#xff1a; 更新過可忽略 sudo apt-get update安裝命令 sudo apt-get install ros--rosbridge-suite 注意&#xff1a; 將替換為正在使用的R…

深度學習圖像風格遷移 - opencv python 計算機競賽

文章目錄 0 前言1 VGG網絡2 風格遷移3 內容損失4 風格損失5 主代碼實現6 遷移模型實現7 效果展示8 最后 0 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度學習圖像風格遷移 - opencv python 該項目較為新穎&#xff0c;適合作為競賽課題…

uniapp高德、百度、騰訊地圖配置 SHA1

uniapp高德、百度、騰訊地圖配置 SHA1 當winr彈出cmd彈框后輸入 keytool -list -v -keystore debug.keystore 顯示keytool 不是內部或外部命令&#xff0c;也不是可運行的程序或批處理文件。可以先看看是否有下載jdk且配置了環境變量&#xff0c;具體操作如下&#xff1a;keyto…

please upgrade numpy version to >=1.20

升級 upgrade numpy_升級numpy-CSDN博客 pip install numpy --upgrade 沒有pip conda install numpy --upgrade 會報錯 conda list numpy來查看numpy版本 似乎這個numpy要看numpy-base這個 似乎沒有pip

【開源】基于JAVA的計算機機房作業管理系統

項目編號&#xff1a; S 017 &#xff0c;文末獲取源碼。 \color{red}{項目編號&#xff1a;S017&#xff0c;文末獲取源碼。} 項目編號&#xff1a;S017&#xff0c;文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 登錄注冊模塊2.2 課程管理模塊2.3 課…

K8S如何部署ActiveMQ(單機、集群)

前言 大家好&#xff0c;在今天的討論中&#xff0c;我們將深入研究如何將ActiveMQ遷移到云端&#xff0c;以便更好地利用Kubernetes的容器調度和資源管理能力&#xff0c;確保ActiveMQ的高可用性和可擴展性。 ActiveMQ是Apache開源組織推出的一款開源的、完全支持JMS1.1和J2…

申請二級域名

1、登錄騰訊云 騰訊云 產業智變云啟未來 - 騰訊 (tencent.com) 2、進入我的域名&#xff0c;點擊主域名 3、點擊前往DNSPod管理 4、點擊我的域名&#xff0c;然后點擊主域名 5、點擊添加記錄&#xff0c;進行添加二級域名信息 6、添加相應二級域名信息 7、添加后需要進行驗證…

系列一、Spring Framework

一、Spring Framework 1.1、概述 Spring是一個輕量級的開源的JavaEE框架&#xff1b;Spring可以解決企業應用開發的復雜性&#xff1b;Spring有兩個核心部分&#xff1a;IOC和AOP ① IOC&#xff1a;控制反轉&#xff0c;把創建對象的過程交給Spring進行管理&#xff1b; ② …

PSP - 從頭搭建 抗原類別 (GPCR) 的 蛋白質結構預測 項目流程

歡迎關注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/134595717 GPCRs&#xff08;G Protein-Coupled Receptors&#xff0c;G蛋白偶聯受體&#xff09;&#xff0c;又稱為7次跨膜受體&#xff0c;是細…

界面組件Telerik UI for WinForms中文教程 - 創建明暗模式的桌面應用

黑暗模式現在在很多應用程序中都挺常見的&#xff0c;但如何在桌面應用程序中實現它呢&#xff1f;這很簡單&#xff0c;本文將為大家介紹如何使用一個類和命令行調用來實現&#xff01; Telerik UI for WinForms擁有適用Windows Forms的110多個令人驚嘆的UI控件。所有的UI fo…

Appium 全新 2.0 全新跨平臺生態,版本特性搶鮮體驗!

關于Appium V2 Appium V2 beta版本在2021年發布&#xff0c;從2022年1月1號開始&#xff0c;Appium核心團隊不會再維護Appium 1.x版本了&#xff0c;所有近期官方發布的平臺驅動&#xff08;如Android平臺的UIAutomator&#xff0c;IOS平臺的XCUITest&#xff09;不再兼容Appi…

shrio----(1)基礎

文章目錄 前言 一、Shrio1、什么是shiro2、為什么使用shrio 二、主要類2.1、Subject2.2、SecurityManager2.3、Realms 三、認證授權3.1、認證(Authentication)3.2、授權&#xff08;authorization&#xff09;四、入門示例參考文章 前言 簡單入門介紹 一、Shrio http://shir…

【譯】Spring 6 入參數據校驗: 綜合指南

一、前言 在 Spring 6.1 中&#xff0c;有一個非常值得注意的重要改進——編程式驗證器實現。Spring 長期以來一直通過注解支持聲明式驗證&#xff0c;而 Spring 6.1 則通過提供專用的編程式驗證方法引入了這一強大的增強功能。 編程式驗證允許開發人員對驗證過程進行細粒度控…

網站定制開發有哪些分類?|企業軟件app小程序定制

網站定制開發有哪些分類&#xff1f;|企業軟件app小程序定制 網站定制開發是指根據客戶需求&#xff0c;為其量身定制設計和開發的網站服務。目前&#xff0c;網站定制開發主要分為以下幾個分類&#xff1a; 1. 靜態網站定制開發&#xff1a;靜態網站是由HTML、CSS和JavaScrip…

手寫promise(3)-- 實例方法 靜態方法

目錄 實例方法 catch finally 靜態方法 reslove reject race all allSettled any 實例方法 提供給promise實例的方法 包括catch 與finally catch Promise 實例的 catch() 方法用于注冊一個在 promise 被拒絕時調用的函數。它會立即返回一個等效的 Promise 對象&…

一文詳解 requests 庫中 json 參數和 data 參數的用法

在requests庫當中&#xff0c;requests請求方法&#xff0c;當發送post/put/delete等帶有請求體的請求時&#xff0c;有json和data2個參數可選。 眾所周知&#xff0c;http請求的請求體格式主要有以下4種&#xff1a; application/json applicaiton/x-www-from-urlencoded …

java堆文件排查

技術主題 在之前的開發的一個項目中&#xff0c;因為程序的一個bug&#xff0c;導致一些引用的對象一直沒有回收&#xff0c;從而導致堆內存一直在增大&#xff0c;老年代一直在增大&#xff0c;老年代進行堆積&#xff0c;后來的排查思路是通過dump堆的文件&#xff0c;然后對…

Dockerfile-CentOS7.9+Python3.11.2

本文為CentOS7.9下安裝Python3.11.2環境的Dockerfile # CentOS with Python3.11.2 # Author xxmail.com# build a new image with basic centos FROM centos:centos7.9.2009 # who is the author MAINTAINER xxmail.comRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/…

vue的生命周期及不同階段狀態可以進行的行為

什么是vue的生命周期&#xff1f; Vue 的實例從創建到銷毀的過程 &#xff0c;就是生命周期 &#xff0c;也就是從開始創建 &#xff0c;初始化數據 &#xff0c;編譯模板 &#xff0c;掛載Dom到渲染DOM &#xff0c;更新數據再到渲染 &#xff0c;卸載等一系列的過程 &#x…

OpenAI研發神秘“Q*”模型:科學家認輸,AI贏了人類關鍵一戰

圖片來源&#xff1a;視覺中國 作者丨葉蓁 編輯丨康曉 出品丨深網騰訊新聞小滿工作室 在山姆奧特曼&#xff08;Sam Altman&#xff09;被OpenAI前董事會突然罷免之前&#xff0c;數位研究人員向董事會發送了一封信&#xff0c;警告稱他們發現了一種能夠威脅到人類的強大人工…