国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
演算法
範例
輸出
結(jié)論
首頁 後端開發(fā) C++ C++程式:按字母順序重新排列單字的位置

C++程式:按字母順序重新排列單字的位置

Sep 01, 2023 pm 11:37 PM
字母 排序 單字位置

C++程式:按字母順序重新排列單字的位置

在這個問題中,一個字串被當作輸入,我們必須按字典順序?qū)ψ执谐霈F(xiàn)的單字進行排序。為此,我們?yōu)樽执械拿總€單字(之間用空格區(qū)分)分配一個從 1 開始的索引,並以排序索引的形式獲得輸出。

String = {“Hello”, “World”}
“Hello” = 1
“World” = 2

由於輸入字串中的單字已按字典順序排列,因此輸出將列印為「1 2」。

讓我們來看看一些輸入/結(jié)果場景 -

假設輸入字串中的所有單字都相同,讓我們看看結(jié)果 -

Input: {“hello”, “hello”, “hello”}
Result: 3

獲得的結(jié)果將是單字的最後一個位置。

現(xiàn)在讓我們考慮包含以相同字母開頭的單字的輸入字串,結(jié)果輸出將基於起始字母的後繼字母。

Input: {“Title”, “Tutorial”, “Truth”}
Result: 1 3 2

此方法的另一個常見輸入場景和獲得的結(jié)果如下 -

Input: {“Welcome”, “To”, “Tutorialspoint”}
Result: 2 3 1

注意 - 傳回的位置是這些單字在輸入字串中的原始位置。一旦單字在方法內(nèi)排序,這些數(shù)字就不會改變。

演算法

  • 此方法使用向量和地圖抽象資料類型執(zhí)行。

  • 使用自動迭代器在字串範圍內(nèi)遍歷輸入字串。

  • 按字母順序交換單字是透過將這些元素推到向量資料類型的後面來完成的。

  • 一旦單字按字典順序重新排列,這些單字在字串中的原始位置就會作為輸出傳回。

範例

讓我們有一個字串是[“articles”,“point”,“world”],字串的順序是 -

“articles”: 1
“point”: 2
“world”: 3

我們可以將每個字串與索引進行映射。然後我們可以對字串進行排序,然後列印出映射的索引。我們可以使用 C 中的映射(map)這種排序資料結(jié)構(gòu)來儲存鍵值對。讓我們快速實施我們的方法。

#include <iostream>
#include <vector>
#include <map>
using namespace std;
vector<int> solve(vector<string>& arr) {
   map<string, int> mp;
   int index = 1;
   for(string s : arr)
      mp[s] = index++;
   vector<int> res;
   for(auto it : mp)
      res.push_back(it.second);
   return res;
}
int main() {
   vector<string> arr = {"articles", "point", "world"};
   vector<int> res = solve(arr);
   for(int i : res) cout << i << " ";
   return 0;
}

輸出

1 2 3

現(xiàn)在字串的重新排序?qū)⑹?-

“point,”
“articles,”
“world”

時間複雜度 - O(n * log n)

空間複雜度 - O(n)

結(jié)論

我們使用地圖來為我們進行排序和映射。我們也可以使用哈希映射,對向量或陣列進行排序,然後列印哈希映射中的索引。時間複雜度為 O(n*log(n)),空間複雜度為 O(n)。

以上是C++程式:按字母順序重新排列單字的位置的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
如何在Windows 11/10中按拍攝日期對照片進行排序 如何在Windows 11/10中按拍攝日期對照片進行排序 Feb 19, 2024 pm 08:45 PM

本文將介紹如何在Windows11/10中根據(jù)拍攝日期對圖片進行排序,同時探討如果Windows未按日期排序圖片應該如何處理。在Windows系統(tǒng)中,合理整理照片對於方便尋找影像檔案至關(guān)重要。使用者可以根據(jù)不同的排序方式(如日期、大小和名稱)來管理包含照片的資料夾。此外,還可以根據(jù)需要設定升序或降序排列,以便更靈活地組織文件。如何在Windows11/10中按拍攝日期對照片進行排序要按在Windows中拍攝的日期對照片進行排序,請執(zhí)行以下步驟:打開圖片、桌面或放置照片的任何資料夾在功能區(qū)選單中,單

如何在Outlook中按寄件者、主題、日期、類別、大小對電子郵件進行排序 如何在Outlook中按寄件者、主題、日期、類別、大小對電子郵件進行排序 Feb 19, 2024 am 10:48 AM

Outlook提供了許多設定和功能,可協(xié)助您更有效地管理工作。其中之一是排序選項,可讓您根據(jù)需要對電子郵件進行分類。在這個教學中,我們將學習如何利用Outlook的排序功能,根據(jù)寄件者、主題、日期、類別或大小等條件對電子郵件進行整理。這將讓您更輕鬆地處理和查找重要訊息,提高工作效率。 MicrosoftOutlook是一個功能強大的應用程序,可以輕鬆地集中管理您的電子郵件和日曆安排。您可以輕鬆地發(fā)送、接收和組織電子郵件,而內(nèi)建的日曆功能也讓您能夠輕鬆追蹤您即將面臨的活動和約會。如何在Outloo

PHP開發(fā):如何實作表格資料排序與分頁功能 PHP開發(fā):如何實作表格資料排序與分頁功能 Sep 20, 2023 am 11:28 AM

PHP開發(fā):如何實現(xiàn)表格資料排序和分頁功能在進行Web開發(fā)中,處理大量資料是一項常見的任務。對於需要展示大量資料的表格,通常需要實現(xiàn)資料排序和分頁功能,以提供良好的使用者體驗和最佳化系統(tǒng)效能。本文將介紹如何使用PHP實作表格資料的排序和分頁功能,並給出具體的程式碼範例。排序功能實作在表格中實作排序功能,可以讓使用者根據(jù)不同的欄位進行升序或降序排序。以下是一個實作表格

Stremio字幕不工作;載入字幕時出錯 Stremio字幕不工作;載入字幕時出錯 Feb 24, 2024 am 09:50 AM

字幕在你的WindowsPC上不能在Stremio上運行嗎?一些Stremio用戶報告說,影片中沒有顯示字幕。許多用戶報告說他們遇到了一條錯誤訊息,上面寫著「載入字幕時出錯」。以下是與此錯誤一起顯示的完整錯誤訊息:載入字幕時出錯載入字幕失敗:這可能是您正在使用的插件或您的網(wǎng)路有問題。正如錯誤訊息所說,可能是您的網(wǎng)路連線導致了錯誤。因此,請檢查您的網(wǎng)路連接,並確保您的網(wǎng)路運作正常。除此之外,這個錯誤的背後可能還有其他原因,包括字幕加載項衝突、特定影片內(nèi)容不支援字幕以及Stremio應用程式過時。如

使用Python實現(xiàn)XML資料的篩選和排序 使用Python實現(xiàn)XML資料的篩選和排序 Aug 07, 2023 pm 04:17 PM

使用Python實現(xiàn)XML資料的篩選和排序引言:XML是一種常用的資料交換格式,它以標籤和屬性的形式儲存資料。在處理XML資料時,我們經(jīng)常需要對資料進行篩選和排序。 Python提供了許多有用的工具和函式庫來處理XML數(shù)據(jù),本文將介紹如何使用Python實現(xiàn)XML資料的篩選和排序。讀取XML檔案在開始之前,我們需要先讀取XML檔案。 Python有許多XML處理函式庫,

C++程式:按字母順序重新排列單字的位置 C++程式:按字母順序重新排列單字的位置 Sep 01, 2023 pm 11:37 PM

在這個問題中,一個字串被當作輸入,我們必須按字典順序?qū)ψ执谐霈F(xiàn)的單字進行排序。為此,我們?yōu)樽执械拿總€單字(之間用空格區(qū)分)分配一個從1開始的索引,並以排序索引的形式獲得輸出。 String={“Hello”,“World”}“Hello”=1“World”=2由於輸入字串中的單字已按字典順序排列,因此輸出將列印為“12”。讓我們看看一些輸入/結(jié)果場景-假設輸入字串中的所有單字都相同,讓我們看看結(jié)果-Input:{“hello”,“hello”,“hello”}Result:3獲得的結(jié)

如何使用Vue實現(xiàn)拖曳排序特效 如何使用Vue實現(xiàn)拖曳排序特效 Sep 20, 2023 pm 03:01 PM

如何使用Vue實作拖曳排序特效Vue.js是一款流行的JavaScript框架,它能夠幫助我們建立互動性強的前端應用程式。在Vue中,我們可以輕鬆實現(xiàn)拖曳排序特效,讓使用者可以透過拖曳元素的方式進行資料排序。本文將介紹如何使用Vue實作拖曳排序特效,並提供具體的程式碼範例。首先,我們需要建立一個Vue的實例,並定義一個陣列來儲存要排序的資料。在範例中,我們將

Java中的Arrays.sort()方法如何依照自訂比較器對陣列進行排序? Java中的Arrays.sort()方法如何依照自訂比較器對陣列進行排序? Nov 18, 2023 am 11:36 AM

Java中的Arrays.sort()方法如何依照自訂比較器對陣列進行排序?在Java中,Arrays.sort()方法是一個非常有用的方法,可以對陣列進行排序。預設情況下,方法會依照升序排序。但是有時候,我們需要依照自己定義的規(guī)則來對陣列進行排序。這時,就需要用到自訂比較器(Comparator)。自訂比較器是一個實作了Comparator介面的類,

See all articles