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

目錄
問題陳述
範(fàn)例
輸入
輸出
說明
方法 1
演算法
結(jié)論
首頁 後端開發(fā) C++ 透過顛倒所有回文單字的出現(xiàn)順序來修改句子

透過顛倒所有回文單字的出現(xiàn)順序來修改句子

Aug 27, 2023 am 10:01 AM
修改 顛倒 回文

透過顛倒所有回文單字的出現(xiàn)順序來修改句子

問題陳述

我們給了一個(gè)字串 str,總共包含 N 個(gè)字。我們需要找到給定字串中的所有回文單詞,並透過反轉(zhuǎn)所有回文單字的順序來創(chuàng)建一個(gè)新字串。

範(fàn)例

輸入

str = ‘nayan was gone to navjivan eye hospital’

輸出

‘eye was gone to navjivan nayan hospital’

說明

此字串包含三個(gè)回文字:nayan、navjivan 和 eye。我們顛倒了所有三個(gè)單字的順序,並保持所有其他單字相同。

輸入

‘Hello, users! How are you?’

輸出

‘Hello, users! How are you?’

說明

它提供相同的輸出,因?yàn)樽执话魏位匚膯巫帧?

輸入

‘Your eye is beautiful.’

輸出

‘Your eye is beautiful.’

說明

它提供與僅包含單一回文單字的字串相同的輸出。

方法 1

在這種方法中,我們首先將字串拆分為單字。之後,我們將過濾所有回文詞。接下來,我們反轉(zhuǎn)所有回文詞的順序。

最後,我們遍歷字串,如果當(dāng)前單字是回文單詞,我們將用另一個(gè)回文單字以相反的順序替換它。

演算法

  • 步驟 1 - 透過傳遞一個(gè)字串作為傳回結(jié)果字串的參數(shù)來執(zhí)行reversePlaindromic()函數(shù)。

  • 第 2 步 - 建立 isPalindrome() 函數(shù),用於檢查單字是否為回文。

  • 步驟 2.1 - 將「start」初始化為 0,將「end」初始化為字串長度 – 1。

  • 步驟 2.2 - 使用 while 循環(huán)遍歷字串,比較第一個(gè)和最後一個(gè)字符,比較第二個(gè)和倒數(shù)第二個(gè)字符,依此類推。如果任何字元不匹配,則傳回 false,因?yàn)樗皇腔匚淖执?

  • 步驟 2.3 - 如果字串是回文,則傳回 true。

  • 第 3 步 - 建立一個(gè)向量來儲(chǔ)存字串的單字。另外,定義「temp」變數(shù)來儲(chǔ)存該單字。

  • 步驟 4 - 使用 for 迴圈遍歷字串,如果不等於空格 (‘ ’),則將字元附加到臨時(shí)值。否則,將 temp 的值推送到 allWords 向量。

  • 步驟 5 - 迭代 allWords 向量並使用 isPalindrome() 函數(shù)檢查目前單字是否為回文。如果是,則將該單字推入「palindromWords」向量。

  • 第 6 步 - 反轉(zhuǎn)「palindromWords」清單。

  • 第 7 步 - 現(xiàn)在,再次迭代「allWords」向量,並檢查目前單字是否是回文。如果是,請(qǐng)將其替換為「palindromWords」清單中受尊重的單字。

  • 第 8 步 - 迭代「palindromWords」列表,並透過將所有單字附加到結(jié)果變數(shù)來建立一個(gè)字串。傳回結(jié)果字串。

範(fàn)例

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// Function to check if a string is a palindrome
bool isPalindrome(string str){
   int start = 0;
   int end = str.length() - 1;
   // iterate till start < end
   while (start < end){
      // check if the character at the start and end are not the same and return false, else increment start and decrement end
      if (str[start] != str[end]){
         return false;
      } else {
         start++;
         end--;
      }
   }
   return true;
}
string reversePalindromic(string str) {
   // vectors to store all words and palindromic words
   vector<string> palindromWords;
   vector<string> allWords;
   // variable to store single word
   string temp = "";
   for (char x : str) {
      // If the current character is not space, then append it to temp; else, add temp to palindrome words and make temp NULL
      if (x != ' ') {
         temp += x;
      } else {
         allWords.push_back(temp);
         temp = "";
      }
   }
   // push the last word to all words
   allWords.push_back(temp);
   // fetch all palindromic words
   for (string x : allWords){
      if (isPalindrome(x)){
         // Update newlist
         palindromWords.push_back(x);
      }
   }
   // Reverse the vector
   reverse(palindromWords.begin(), palindromWords.end());
   int k = 0;
   for (int i = 0; i < allWords.size(); i++){
      // If the current word is a palindrome, push it to palindrome words
      if (isPalindrome(allWords[i])){
         allWords[i] = palindromWords[k];
         k++;
      }
   }
   string result = "";
   for (string x : allWords) {
      result += x;
      result += " ";
   }
   return result;
}
int main(){
   string str = "nayan was gone to navjivan eye hospital";
   string reverse = reversePalindromic(str);
   cout << reverse << endl;
   return 0;
}

輸出

eye was gone to navjivan nayan hospital
  • 時(shí)間複雜度 - O(N),因?yàn)槲覀兊L度為 N 的字串。

  • 空間複雜度 - O(K),因?yàn)槲覀兪褂昧斜韥韮?chǔ)存單字,其中 k 是字串中的單字總數(shù)。

結(jié)論

我們學(xué)會(huì)了從句子中獲取所有回文單字並以相反的順序添加它們。在上面的程式碼中,程式設(shè)計(jì)師可以嘗試更改 isPalindrome() 函數(shù)的實(shí)作來學(xué)習(xí)新的東西。

以上是透過顛倒所有回文單字的出現(xiàn)順序來修改句子的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

釘釘怎麼修改群組裡的個(gè)人名稱_釘釘修改群組個(gè)人名稱方法 釘釘怎麼修改群組裡的個(gè)人名稱_釘釘修改群組個(gè)人名稱方法 Mar 29, 2024 pm 08:41 PM

1.首先打開釘釘。 2.打開群組聊,點(diǎn)選右上角的三個(gè)點(diǎn)。 3.找到我在本群的暱稱。 4.點(diǎn)選進(jìn)入即可修改儲(chǔ)存。

抖音藍(lán)V可以改名字嗎?企業(yè)抖音藍(lán)V號(hào)名稱修改步驟有哪些? 抖音藍(lán)V可以改名字嗎?企業(yè)抖音藍(lán)V號(hào)名稱修改步驟有哪些? Mar 22, 2024 pm 12:51 PM

抖音藍(lán)V認(rèn)證是企業(yè)或品牌在抖音平臺(tái)上的官方認(rèn)證,有助於提升品牌形象和可信度。隨著企業(yè)發(fā)展策略的調(diào)整或品牌形象的更新,企業(yè)可能希望更改抖音藍(lán)V認(rèn)證的名字。那麼,抖音藍(lán)V可以改名字嗎?答案是可以的。本文將詳細(xì)介紹企業(yè)抖音藍(lán)V號(hào)名稱修改的步驟。一、抖音藍(lán)V可以改名字嗎?抖音藍(lán)V帳號(hào)是可以改名字的。根據(jù)抖音官方規(guī)定,企業(yè)藍(lán)V認(rèn)證帳號(hào)在滿足一定條件後,可以申請(qǐng)修改帳號(hào)名稱。一般來說,企業(yè)需要提供相關(guān)的證明資料,如營業(yè)執(zhí)照、組織機(jī)構(gòu)代碼證等,以證明修改名稱的合法性和必要性。二、企業(yè)抖音藍(lán)V號(hào)名稱修改步驟有哪

修改win11視窗邊角為圓角的指南 修改win11視窗邊角為圓角的指南 Dec 31, 2023 pm 08:35 PM

很多朋友更新好win11系統(tǒng)後,發(fā)現(xiàn)win11的介面視窗採用了全新的圓角設(shè)計(jì)。但是有些人覺得不喜歡這個(gè)圓角設(shè)計(jì),想要將它修改為曾經(jīng)的介面,但卻不知道怎麼修改,下面就一起來看看吧。 win11怎麼修改圓角1、win11的圓角設(shè)計(jì)時(shí)內(nèi)建的系統(tǒng)設(shè)置,目前無法修改。 2.所以大家如果不喜歡使用win11的圓角設(shè)計(jì)的話,可以等微軟提供修改的方法。 3.如果實(shí)在使用起來不習(xí)慣,還可以選擇退回曾經(jīng)的win10系統(tǒng)。 4.如果大家不知道如何回退的話,可以查看本站提供的教學(xué)。 5.如果使用上方教學(xué)無法回退的話,還可

如何更改使用者資料夾名稱:Win11教學(xué) 如何更改使用者資料夾名稱:Win11教學(xué) Jan 09, 2024 am 10:34 AM

有些遊戲會(huì)自動(dòng)安裝到使用者資料夾中,而且需要英文資料夾才可以,不過很多朋友不知道win11怎麼修改使用者資料夾名稱,其實(shí)我們只要修改使用者名稱就可以了。 win11修改使用者資料夾名稱:第一步,按下鍵盤「Win+R」組合鍵。第二步,在其中輸入「gpedit.msc」回車開啟群組原則編輯器。第三步,展開「windows設(shè)定」下的「安全設(shè)定「第四步,開啟「本機(jī)原則」中的「安全性選項(xiàng)」第五步,雙擊開啟右邊的「帳號(hào):重新命名系統(tǒng)管理員帳號(hào)」原則。第六步,在下方輸入想要修改的資料夾名稱再點(diǎn)選「確定」儲(chǔ)存即可。修改使用者資料夾

如何變更Windows 10工作列的顏色 如何變更Windows 10工作列的顏色 Jan 01, 2024 pm 09:05 PM

win10工作列顏色修改起來非常簡單,但是很多用戶發(fā)現(xiàn)設(shè)定不了,其實(shí)非常的簡單,只要在電腦的個(gè)人化裡選擇自己喜愛的顏色就可以了,要是改變不了顏色的注意詳細(xì)的設(shè)定哦。 win10工作列顏色怎麼改第一步:右鍵桌面-點(diǎn)選個(gè)人化第二步:顏色區(qū)域自訂第三步:選擇喜歡的顏色PS:如果你無法改變顏色,可以點(diǎn)選顏色->選擇顏色->自訂->預(yù)設(shè)windows模式,選擇深色即可。

閒魚怎麼修改已發(fā)布商品地址位置 閒魚怎麼修改已發(fā)布商品地址位置 Mar 28, 2024 pm 03:36 PM

在閒魚平臺(tái)發(fā)布商品時(shí),用戶可以根據(jù)實(shí)際情況自訂設(shè)定寶貝的地理位置信息,這樣潛在買家就能更精準(zhǔn)地掌握商品的具體所在地。一旦商品成功上架,若賣家的地理位置有所變動(dòng),也無需擔(dān)憂。閒魚平臺(tái)特別提供了靈活且便捷的修改功能,那麼當(dāng)我們想要修改已經(jīng)發(fā)布產(chǎn)品的地址究竟該如何修改呢,這篇教程攻略就將為大家?guī)碓敿?xì)的步驟攻略介紹,希望能幫助到大家!閒魚怎麼修改發(fā)布產(chǎn)品地址? 1.打開閒魚,點(diǎn)擊我發(fā)布的,選擇商品,點(diǎn)擊編輯。 2、點(diǎn)選定位圖標(biāo),選擇需要設(shè)定的地址即可。

加速pip來源,解決下載速度緩慢的難題 加速pip來源,解決下載速度緩慢的難題 Jan 17, 2024 am 10:18 AM

快速修改pip來源,解決下載速度慢的問題,需要具體程式碼範(fàn)例導(dǎo)語:在使用Python開發(fā)過程中,我們經(jīng)常需要使用pip來安裝各種第三方函式庫。然而,由於網(wǎng)路環(huán)境的限製或預(yù)設(shè)來源的問題,很多時(shí)候pip的下載速度會(huì)非常慢,這給我們的開發(fā)帶來了不便。因此,本文將介紹如何快速修改pip來源,以解決下載速度慢的問題,並提供具體的程式碼範(fàn)例。一、問題分析在使用pip下載第三方函式庫時(shí),我

PyCharm背景色彩調(diào)整技巧:快速掌握! PyCharm背景色彩調(diào)整技巧:快速掌握! Feb 03, 2024 am 09:39 AM

快速掌握PyCharm背景顏色的修改技巧,需要具體程式碼範(fàn)例近年來,Python語言在程式開發(fā)領(lǐng)域愈發(fā)流行,而PyCharm作為一款整合開發(fā)環(huán)境(IDE),被廣大開發(fā)者所喜愛和使用。在PyCharm中,經(jīng)常會(huì)有一些開發(fā)者對(duì)IDE的介面進(jìn)行個(gè)人化定制,包括背景顏色的修改。本文將介紹PyCharm背景顏色修改的技巧,並給出具體的程式碼範(fàn)例,幫助讀者快速掌握這項(xiàng)技能。

See all articles