leetcode 493 翻轉對

一、題目描述

二、解題思路

本題的思路與逆序數的思路相似,采用歸并排序的思路來實現。leetcode LCR 170.交易逆序對的總數-CSDN博客

注意:但是逆序數的ret更新在左、右區間合并時更新,但本題ret更新在左、右區間合并前更新。

三、代碼實現

時間復雜度:T(n)=O(nlogn)

空間復雜度:S(n)=O(n)

class Solution {vector<int> tmp;
public:int reversePairs(vector<int>& nums) {//借助歸并排序的思路tmp.resize(nums.size());return mergeSort(nums,0,nums.size()-1);}int mergeSort(vector<int>& nums,int left,int right){//遞歸出口if(left>=right) return 0;//1.尋找中間位置int mid=left+(right-left)/2;//2.左邊尋找+左排序,右邊尋找+右排序int ret=0;ret+=mergeSort(nums,left,mid);ret+=mergeSort(nums,mid+1,right);//3.一左一右尋找翻轉對int cur1=left,cur2=mid+1;while(cur1<=mid&&cur2<=right){if(nums[cur1]<=2LL*nums[cur2])cur1++;else{ret+=mid-cur1+1;cur2++;}}//4.左右兩路歸并cur1=left,cur2=mid+1;int i=0;while(cur1<=mid&&cur2<=right){if(nums[cur1]<=nums[cur2]) tmp[i++]=nums[cur1++];else tmp[i++]=nums[cur2++];}//5.處理沒有歸并完的部分while(cur1<=mid) tmp[i++]=nums[cur1++];while(cur2<=right) tmp[i++]=nums[cur2++];//6.還原nums數組for(int j=left;j<=right;j++)nums[j]=tmp[j-left];return ret; }
};

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

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

相關文章

初識微服務-nacos配置中心

配置中心 概述 配置中心是微服務中不可或缺的組件&#xff0c;因為如果沒有配置中心&#xff0c;那么各個微服務的的配置信息無法得到統一和管理&#xff0c;會變得冗余。 :::color4 配置中心是用于管理應用程序配置信息的工具 集中管理配置&#xff1a;解決微服務架構下配置分…

Android webview更新記錄-aosp

一、下載 webview下載地址&#xff0c;感謝火哥分享&#xff0c;版本很全。 https://www.firepx.com/app/android-system-webview/ 二、更新 external/chromium-webview/prebuilt 具體更新那個目錄&#xff0c;需要查看編譯架構 這個看你的lunch就行&#xff0c;這里我的是a…

無感FOC(無傳感器磁場定向控制)

我們來詳細解析無感FOC&#xff08;無傳感器磁場定向控制&#xff09;中的高頻方波注入&#xff08;High-Frequency Square-Wave Injection, HFSWI&#xff09;?? 的原理。這是一個用于零低速或極低速范圍內估算轉子位置的核心技術。核心思想與要解決的問題在電機靜止或轉速極…

MATLAB基于博弈論組合賦權-云模型的煤與瓦斯突出危險性評價

MATLAB基于博弈論組合賦權-云模型的煤與瓦斯突出危險性評價 1. 問題背景與核心目標 背景&#xff1a;煤與瓦斯突出是煤礦生產中的一種極其復雜的動力災害&#xff0c;其發生機理復雜&#xff0c;影響因素眾多&#xff08;如地應力、瓦斯壓力、煤體物理屬性等&#xff09;。對其…

JavaWeb-Servlet總結及JSP

目錄 一、文件下載 二、ServletConfig對象 三、Web.xml文件使用總結 四、server.xml文件 五、JSP動態網頁技術 1.概念&#xff1a; 2.動態網頁&#xff1a; 3.特點&#xff1a; 4.JSP的訪問原理&#xff1a; 5.JSP的文檔說明&#xff1a; 6.jsp實際運行文件&#xff…

DDIM和DDPM之 間的區別與聯系

核心關系概述 首先&#xff0c;要理解DDIM并不是一個全新的模型&#xff0c;而是DDPM的一個精巧的重新參數化和擴展。它們使用完全相同的訓練目標和方法&#xff0c;因此你可以用一個訓練好的DDPM模型直接來運行DDIM的采樣算法&#xff0c;而無需重新訓練。 DDIM的核心貢獻是&a…

c++---map和set

這里再提二叉樹&#xff08;二叉搜索樹&#xff09;&#xff0c;是為了后面講解map和set做準備。 一、二叉搜索樹 二叉搜索樹又稱二叉排序樹&#xff0c;它或者是一棵空樹&#xff0c;或者是具有以下性質的二叉樹。 若它的左子樹不為空&#xff0c;則左子樹上所有節點的值都…

windows下,podman遷移鏡像文件位置

docker-desktop有自帶的鏡像文件位置遷移功能&#xff0c;但podman-desktop還沒有&#xff0c;所以只能自己操作wsl導入導出來實現# 1.一定要先停止當前machine podman machine stop# 2. 導出當前 machine&#xff08;會生成 tar 鏡像&#xff09; wsl --export podman-machine…

Champ-基于3D的人物圖像到動畫視頻生成框架

本文轉載自&#xff1a;https://www.hello123.com/champ ** 一、&#x1f916; Champ 是什么&#xff1f; 阿里 南大 復旦聯手打造的虛擬人動作黑科技&#xff01;Champ 可不是普通動畫工具&#xff0c;它能把你隨手拍的小視頻變成專業級 3D 動畫 —— 無論跳舞、打拳還是走…

Thingsboard 3.4 源碼運行 Mac Mini

拉取源碼 git clone https://github.com/thingsboard/thingsboard.gitjdk11 java -version java version "11.0.27" 2025-04-15 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.278-LTS-232) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.278-LTS-23…

【AI大模型面試寶典60題】1-5

目錄 Q1:僅編碼器(BERT 類)、僅解碼器(GPT 類)和完整的編碼器-解碼器架構各有什么優缺點? 1. 編碼器架構 (Encoder-only) - 代表:BERT系列 2. 解碼器架構 (Decoder-only) - 代表:GPT系列 3. 編碼器-解碼器架構 (Encoder-Decoder) - 代表:T5、BART 升華與總結 (總…

macOS中找不到鑰匙串訪問

如果在macOS中找不到鑰匙串訪問&#xff0c;請操作如下命令&#xff1a; security list-keychains可以看到類似&#xff1a; “/Library/Keychains/System.keychain” 然后執行&#xff1a; open /Library/Keychains/System.keychain然后可以將應用保留在程序塢中保留。

UCOSIII移植——學習筆記1

本文是筆者在學習 正點原子官方 的《【正點原子】手把手教你學UCOS-III實時操作系統》系列視頻時整理的筆記。 視頻講解清晰透徹&#xff0c;非常感謝UP主的無私奉獻&#xff01;原課程鏈接如下&#xff1a; &#x1f449; B站視頻鏈接&#xff1a;【正點原子】手把手教你學UCO…

SpringBootCodeGenerator使用JSqlParser解析DDL CREATE SQL 語句

&#x1f9e0; 使用 JSqlParser 解析 CREATE TABLE SQL 語句詳解在數據庫開發中&#xff0c;我們常常需要從 SQL 中提取表結構信息&#xff0c;比如字段名、類型、注釋等。相比使用正則表達式&#xff0c;JSqlParser 提供了更可靠的方式來解析 SQL 語句&#xff0c;尤其適用于復…

css3新增-網格Grid布局

目錄flex彈性布局Gird布局開啟網格布局定義網格中的行和列長度值百分比值新單位fr關鍵字函數minmax(min, max)函數-repeatauto-fill vs auto-fit舉例說明grid-template-areasgapgrid-auto-columns和grid-auto-rowsjustify-contentalign-contentjustify-contentalign-contentjus…

最新最強新太極工具3.6 支持Windows和不支持mac電腦,支持免改碼,和改碼,支持12—18系統

溫馨提示&#xff1a;文末有資源獲取方式最新最強太極工具3.6支持Windows和Mac計算機&#xff0c;支持無代碼更改和代碼更改&#xff0c;支持12-18個系統 支持A7-A11芯片、Apple 5s x、iPad A7至A11芯片&#xff0c;支持所有者鎖定、激活鎖定、無法激活&#xff08;密碼界面和禁…

深入淺出 C++20:新特性與實踐

C20 是 C 編程語言的一次重要更新&#xff0c;引入了許多新特性和改進&#xff0c;旨在提升代碼的簡潔性、安全性和性能。本文將詳細介紹 C20 的一些核心特性&#xff0c;并通過示例代碼幫助讀者理解這些特性的應用場景。C20 新特性總結 以下是 C20 的主要新特性及其簡要描述&a…

CSS 屬性概述

CSS 屬性概述 CSS 屬性用于控制 HTML 元素的樣式和行為&#xff0c;包括布局、顏色、字體、動畫等。以下是常用的 CSS 屬性分類及示例&#xff1a; 布局相關屬性 display: 控制元素的顯示方式&#xff0c;如 block、inline、flex、grid。position: 定義元素的定位方式&#…

--- 統一請求入口 Gateway ---

spring cloud gateway 官方文檔 Spring Cloud Gateway 中文文檔 什么是api網關 對于微服務的每個接口&#xff0c;我們都需要校驗請求的權限是否足夠&#xff0c;而微服務把項目細化除了許多個接口&#xff0c;若這些接口都要對服務進行權限校驗的話&#xff0c;那么無疑加重…

返利app的消息隊列架構:基于RabbitMQ的異步通信與解耦實踐

返利app的消息隊列架構&#xff1a;基于RabbitMQ的異步通信與解耦實踐 大家好&#xff0c;我是阿可&#xff0c;微賺淘客系統及省賺客APP創始人&#xff0c;是個冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在返利app的業務流程中&#xff0c;用戶下單、返利計算…