AcWing 787. 歸并排序 解題思路及代碼

先貼個題目:

以及原題鏈接:787. 歸并排序 - AcWing題庫icon-default.png?t=N7T8https://www.acwing.com/problem/content/789/純板子題,先貼代碼吧,根據代碼講思路:

#include <iostream>
using namespace std;const int N = 1e5 + 10;
int a[N], tmp[N];void gsort(int str[],int left, int right)
{if (left >= right)return;int mid = (left + right) / 2;gsort(str,left, mid);gsort(str,mid + 1, right);int x = left, y = mid + 1, z = 0;while (x <= mid && y <= right){if (str[x] <= str[y])tmp[z++] = str[x++];elsetmp[z++] = str[y++];}while (x <= mid)tmp[z++] = str[x++];while (y <= right)tmp[z++] = str[y++];for (int i = left, j = 0; i <= right; ++i, ++j)str[i] = tmp[j];return;
}int main()
{int n;cin >> n;for (int i = 0; i < n; ++i)cin >> a[i];gsort(a,0, n-1);for (int i = 0; i < n; ++i)cout << a[i] << " ";return 0;
}

?每次把要分的數組分成兩部分,然后因為遞歸到數組中只存在一個數,然后是兩個數,以此類推,我們待會再來講排序的原理,先默認他就是有序的,那利用兩段有序數組,實現整個合并大數組的有序即可。至于原理,就是創建一個臨時的數組,然后如果左邊數字小于于等于右邊數字,就讓左邊數字進入到臨時數組中, 然后記錄的下標都右移一格,如此就能歸并了。

by————2024.2.28刷題記錄

?

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

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

相關文章

【Maven】Maven 基礎教程(三):build、profile

《Maven 基礎教程》系列&#xff0c;包含以下 3 篇文章&#xff1a; Maven 基礎教程&#xff08;一&#xff09;&#xff1a;基礎介紹、開發環境配置Maven 基礎教程&#xff08;二&#xff09;&#xff1a;Maven 的使用Maven 基礎教程&#xff08;三&#xff09;&#xff1a;b…

修飾符【C#】

分為四部分&#xff1a;屬性修飾符&#xff0c;存取修飾符&#xff0c;類修飾符和成員修飾符。 屬性修飾符&#xff1a; [Serializable]&#xff1a;按值將對象封送到遠程服務器。在按值封送對象時&#xff0c;就會創建一個該對象的副本&#xff0c;并將其序列化傳送到服務器…

TCP/UDP,HTTP、HTTPS存在什么風險會影響到網絡安全嗎

近年來&#xff0c;隨著網絡技術的飛速發展&#xff0c;互聯網影響人們的方方面面&#xff0c;我們平時也接觸到許多以前從未聽過的東西&#xff0c;今天德迅云安全就來分享下一些互聯網安全知識&#xff0c;講解一些關于常看到的關于IP, TCP/UDP&#xff0c;HTTP、HTTPS這些名…

QT之液晶電子時鐘

根據qt的<QLDNumber>做了一個qt液晶電子時鐘. 結果 實時顯示當前時間,左鍵可以拖動時鐘在屏幕的位置,右鍵點擊關閉顯示. 實現過程 新建一個class文件,讓這個文件的父類是QLCDNumber 相關功能變量定義和函數實現 .c文件代碼 這里需要注意的一點是event->button是獲取的…

SpringMVC自定義視圖解析器

/** * 使用View接口完成請求轉發|重定向 * 解釋: * SpringMVC的官方&#xff0c;提供了一個叫做View的接口&#xff0c;告訴開發人員 * DispatcherServlet底層會調用View接口的實例化對象中的邏輯方法 * 來完成對應的請求轉發和重定向。 * 使用: * 1. 單元方法的返回值為View接…

前臺自動化測試:基于敏捷測試驅動開發(TDD)的自動化測試原理

一、自動化測試概述 自動化測試主要應用到查詢結果的自動化比較&#xff0c;把借助自動化把相同的數據庫數據的相同查詢條件查詢到的結果同理想的數據進行自動化比較或者同已經保障的數據進行不同版本的自動化比較&#xff0c;減輕人為的重復驗證測試。多用戶并發操作需要自動…

【開源】JAVA+Vue.js實現APK檢測管理系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 開放平臺模塊2.3 軟件檔案模塊2.4 軟件檢測模塊2.5 軟件舉報模塊 三、系統設計3.1 用例設計3.2 數據庫設計3.2.1 開放平臺表3.2.2 軟件檔案表3.2.3 軟件檢測表3.2.4 軟件舉報表 四、系統展示五、核心代…

pdfpages 宏包和 includepdf 使用問題

在 latex 中插入其他 pdf 文檔的頁時 \usepackage{pdfpages} % 插入 PDF 頁 \includepdf[pages-]{pg276-axi-hbm-en.pdf} 用 xelatex 編譯生成的 pdf 文檔內容會與原文檔內容不一致&#xff0c;文字位置對折等問題。 解決辦法&#xff1a; A 文檔中的某些…

springBoot整合Redis(二、RedisTemplate操作Redis)

Spring-data-redis是spring大家族的一部分&#xff0c;提供了在srping應用中通過簡單的配置訪問redis服務&#xff0c;對reids底層開發包(Jedis, JRedis, and RJC)進行了高度封裝&#xff0c;RedisTemplate提供了redis各種操作、異常處理及序列化&#xff0c;支持發布訂閱&…

Android:BitmapFactory.decodeStream Bitmap的內存優化OutOfMemory異常以后Crash閃退

自己項目中使用如下方法&#xff0c;有的手機上會奔潰報錯&#xff0c;原因是BitmapFactory.decodeStream部分沒有使用options參數改變內存大小 改成如下形式后正常了&#xff1b;正確解決方案&#xff1a;設置inSampleSize 一&#xff09;Android BitmapFactory.decodeStream(…

C++利用匯編挖掘編程語言的本質..

1.謬論 很多非一手的資料特別是中文資料其實并不可靠 因為很多作者都是直接通過轉載他人的作品 也不管他人作品真與假 而且有一部分的作品中的言論和官方描述相去甚遠 有的則是翻譯的過程中出現了問題 比如sizeof很多人認為是一個函數 其實他并不是一個函數 而是一個運算符 是…

【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit

1.問題描述 升級到4.0.0.59版本后&#xff0c;通過pushService.getToken獲取華為的token時報如下錯誤&#xff1a;Illegal application identity. 解決方案 Mate 40 Pro (NOH) 從 4.0升級到4.1版本后&#xff0c;會出現UDID變化&#xff0c;影響歷史的調試簽名使用&#xff…

檔案數字化驗收流程

檔案數字化驗收流程通常包括以下步驟&#xff1a; 1. 確定驗收標準&#xff1a;制定檔案數字化驗收標準&#xff0c;明確要求檢查的內容、質量要求、驗收標準等。 2. 準備驗收環境&#xff1a;為檔案數字化驗收準備合適的環境&#xff0c;包括驗收場所、設備、人員等。 3. 準備…

vscode 引入外部依賴包

背景 我要在vscode中寫一些antlr代碼生成的cpp代碼&#xff0c;但是在引入頭文件#include "antlr4-runtime.h"的時候&#xff0c;出現報錯&#xff0c;顯示沒有這個頭文件&#xff0c;顯然這是我們沒有導入相關的包&#xff0c;因此我首先嘗試了將antlr4的依賴源碼在…

Semantic human matting

1.introduction 數據集包括&#xff0c;時尚模特數據集&#xff0c;超過18.8w張模特圖&#xff0c;從中選出35311張圖片&#xff0c;DIM數據集&#xff0c;僅包含人類的圖像&#xff0c;202個前景圖像&#xff0c;背景來自coco數據集和互聯網&#xff0c;背景圖不含人類&#x…

python 基礎知識點(藍橋杯python科目個人復習計劃56)

今日復習內容&#xff1a;做題 例題1&#xff1a;最小的或運算 問題描述&#xff1a;給定整數a,b&#xff0c;求最小的整數x&#xff0c;滿足a|x b|x&#xff0c;其中|表示或運算。 輸入格式&#xff1a; 第一行包括兩個正整數a&#xff0c;b&#xff1b; 輸出格式&#…

小烏龜操作Git

1、選擇小烏龜作為git客戶端 最近使用idea來操作git的時候頻頻出現問題&#xff0c;要么是提交代碼的時候少了某些文件&#xff0c;導致克隆下來無法運行&#xff0c;要么是提交速度太慢。 反正是在idea中操作git體驗非常不好&#xff0c;所以決定來換一種方式來操作git。從網…

藍橋杯算法題匯總

一.線性表&#xff1a;鏈式 例題&#xff1a;旋轉鏈表 二.棧&#xff1a; 例題&#xff1a;行星碰撞問題 三.隊列 三.數組和矩陣 例題&#xff1a;

FPGA-VGA成像原理與時序

什么是VGA: VGA, Video Graphics Array。即視頻圖形陣列,具有分辨率高、顯示速率快、顏色豐富等優點。VGA接口不但是CRT顯示設備的標準接口,同樣也是LCD液晶顯示設備的標準接口,具有廣泛的應用范圍。在FGPA中,常廣泛用于圖像處理等領域。 VGA 顯示器成像原理 在 VGA 標準剛興…

C語言 vs Rust應該學習哪個?

C語言 vs Rust應該學習哪個&#xff1f; 在開始前我有一些資料&#xff0c;是我根據網友給的問題精心整理了一份「C語言的資料從專業入門到高級教程」&#xff0c; 點個關注在評論區回復“888”之后私信回復“888”&#xff0c;全部無償共享給大家&#xff01;&#xff01;&am…