算法---字符串

一、算法說明

字符串是一種類型,他不是一種算法,所以我們在處理這方面的問題的時候,需要結合其他的算法

二、題目

最長公共前綴

1、題目

最長公共前綴

2、解題思路

解法一:我們可以先讓兩個相互比較,然后在將比較出來的公共前綴和下一個作比較

解法二:我們可以一次性比較所有的

3、代碼實現

?

class Solution 
{
public:string longestCommonPrefix(vector<string>& strs){string r = strs[0];for(int i = 1; i<strs.size(); i++){r = FindCommmon(r,strs[i]);}return r;}string FindCommmon(string& r, string& x){int i = 0;while(i < min(r.size(), x.size())&&r[i]==x[i]){i++;}return r.substr(0,i);}
};

最長回文子串

?最長回文子串

(1)題目

(2)解題思路

中心擴展法:我們可以定義一個位子i,然后使用雙指針,判斷以i為中心的兩側是否相等,分為兩種情況,一種是偶數對稱即示例2,這是我們雙指針的位置分別在?i,和i+1,如果是奇數對稱,雙指針的位置都在i

(3)代碼實現

class Solution
{
public:string longestPalindrome(string s) {int begin = 0, len = 0;for (int i = 0; i < s.size(); i++) {int left = i;int right = i;while (left >=0 && right < s.size() && s[right] == s[left]){left--;right++;}if (right - left - 1 > len) {begin = left + 1;len = right - left - 1;}left = i ; right = i + 1;while (left >=0 && right < s.size() && s[right] == s[left]){left--;right++;}if (right - left - 1 > len) {begin = left + 1;len = right - left - 1;}}return s.substr(begin, len);}
};

字符串相乘

字符串相乘

?(1)題目

(2)解題思路

解題思路一:

1、模擬字符串

添加一個字符串,上面的字符串挨個乘以下面的字符串里面的數字,得到結果后相加

?2、高位相乘的時候,要補上0

? ?我們可以先將字符串逆序,然后我們會發現下標為幾,就在前面加上幾個‘0’

3、逆序

等到結果后先全部相加在逆序

4、處理前導’0‘

如果我們乘以的是一個字符'0'只需要保存一個’0‘

解題思路二 :

(3)代碼實現

class Solution 
{
public:string multiply(string num1, string num2) {string ret;if(num1 == "0" || num2 == "0")return "0";reverse(num1.begin(),num1.end());reverse(num2.begin(),num2.end());for(int i = 0 ; i < num1.size(); i++){string tmp;int k = i;while(k--){tmp.push_back('0');} int add = 0;for(int j = 0 ; j < num2.size() ; j++){int re = ((num1[i] - '0')*(num2[j] - '0') + add) ;add = re/10;char s = re%10 + '0';tmp.push_back(s);}if(add!=0){tmp.push_back(add+'0');}ret =  Addstring(tmp , ret);} reverse(ret.begin(),ret.end());return ret;}string Addstring(string s1, string s2){int i = 0, j = 0, add = 0;string ans;while (i < s1.size() || j < s2.size() || add > 0) {int sum = add;if (i < s1.size())sum += s1[i++] - '0';if (j < s2.size())sum += s2[j++] - '0';ans.push_back((sum % 10) + '0');add = sum / 10;}return ans;}
};

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

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

相關文章

鴻蒙Next導航與路由指南:組件導航與頁面路由的完美協作

一次搞懂HarmonyOS NEXT中的兩種導航方式&#xff0c;打造流暢的應用內跳轉體驗在鴻蒙應用開發中&#xff0c;流暢的頁面導航和路由是提升用戶體驗的關鍵。HarmonyOS NEXT提供了組件導航&#xff08;Navigation&#xff09; 和頁面路由&#xff08;ohos.router&#xff09; 兩種…

JavaScript原型詳解——面試重點

一、原型的含義&#xff1a;JavaScript 中的“原型”既指 函數身上的 prototype 對象&#xff0c;也指 對象身上的 [[Prototype]] 隱藏鏈接&#xff1b;它倆共同構成了“原型鏈”&#xff0c;決定了“找不到屬性時去哪里繼續找”的規則。&#xff08;1&#xff09;原型對象(pro…

Vue3 全面介紹

Vue3&#xff08;正式名稱為 Vue.js 3&#xff09;是 Vue.js 前端框架的第三個主要版本&#xff0c;于 2020 年 9 月正式發布。作為對 Vue2 的重大升級&#xff0c;Vue3 在核心架構、性能優化、開發體驗等方面進行了全面重構&#xff0c;同時保持了 Vue 一貫的“漸進式框架”理…

HTTP 范圍請求:為什么你的下載可以“斷點續傳”?

在現代網絡應用中&#xff0c;我們習以為常的功能&#xff0c;如斷點續傳、多線程下載和在線視頻快進快退&#xff0c;都依賴于 HTTP 協議中的一個強大特性&#xff1a;范圍請求&#xff08;Range Requests&#xff09;。這項技術讓客戶端能夠聰明地只請求文件的一部分&#xf…

萬博智云聯合華為云共建高度自動化的云容災基線解決方案

一、摘要 近日&#xff0c;萬博智云與華為云的深入合作再添新章——萬博智云HyperBDR云容災解決方案&#xff0c;順利通過華為云專家團隊評審和認證&#xff0c;正式被選為華為云基線解決方案&#xff08;Baseline Solution&#xff09;&#xff0c;并在華為云國際站上線。 Hy…

機器視覺opencv教程(二):二值化、自適應二值化

文章目錄機器視覺opencv教程&#xff08;二&#xff09;&#xff1a;二值化、自適應二值化一、二值化圖基礎概念二、傳統二值化方法&#xff08;基于全局固定閾值&#xff09;1. 閾值法&#xff08;THRESH_BINARY&#xff09;2. 反閾值法&#xff08;THRESH_BINARY_INV&#xf…

leetcode 461 漢明距離

一、問題描述二、解題思路采用位運算的思想來解決這個問題&#xff0c;首先&#xff0c;將x和y進行異或&#xff0c;x和y對應二進制位不同就會得到1&#xff0c;然后統計所有1的個數&#xff0c;即為漢明距離。三、代碼實現時間復雜度&#xff1a;T(n)O(n)空間復雜度&#xff1…

ClickHouse 客戶端

ClickHouse 客戶端 ClickHouse提供兩種客戶端接口&#xff0c;分別基于 HTTP 和 TCP 協議 基于 HTTP 協議 主要用來支持輕量級的簡單操作&#xff0c;方便跨平臺和編程語言。 測試clickhouse聯通性&#xff1a; $ curl http://localhost:8123/ Ok.在運行狀況檢查腳本中使用…

DBeaver 連接 PostgreSQL 教程

&#x1f6e0;? DBeaver 連接 PostgreSQL 教程1?? 安裝 DBeaver打開官網&#xff1a;https://dbeaver.io/download/下載 Community Edition&#xff08;免費版&#xff09;&#xff0c;選擇對應系統&#xff08;Windows / macOS / Linux&#xff09;。安裝完成后&#xff0c…

Komo Searc-AI驅動的搜索引擎

本文轉載自&#xff1a;Komo Searc-AI驅動的搜索引擎 - Hello123工具導航 ** 一、&#x1f50d; Komo Search 是什么&#xff1f; Komo Search 是一款基于人工智能技術的新一代交互式搜索引擎&#xff0c;它徹底改變了我們獲取信息的方式 —— 從被動檢索變成主動對話。不同于…

HTML 和 JavaScript 關聯的基礎教程

HTML 和 JavaScript 是構建現代網頁的核心技術。HTML 負責頁面結構&#xff0c;JavaScript 負責動態交互。以下是兩者的基本關聯方式。內聯方式&#xff1a;直接在 HTML 中嵌入 JavaScript在 HTML 文件中&#xff0c;可以通過 <script> 標簽直接編寫 JavaScript 代碼。這…

淘寶四個月造了一個超越美團的“美團”

本周三&#xff0c;美團發布最新一季財報&#xff0c;利潤承壓導致股價爆跌。只隔一天&#xff0c;阿里也發布了最新季報&#xff0c;最大的亮點是“淘寶閃購”即時零售業務&#xff0c;日均訂單量站穩8000萬單&#xff0c;峰值訂單更是達到了1.2億單。8000萬單這個數字令市場眼…

Java開發MongoDB常見面試題及答案

基礎概念題1. 什么是MongoDB&#xff1f;它的主要特點是什么&#xff1f;答案&#xff1a; MongoDB是一個開源的NoSQL文檔型數據庫&#xff0c;主要特點包括&#xff1a;文檔存儲&#xff1a;使用BSON格式存儲數據&#xff0c;類似JSON結構無Schema約束&#xff1a;靈活的數據結…

AI視頻生成工具全景對比:元寶AI、即夢AI、清影AI和Vidu AI

AI視頻生成技術正以前所未有的速度發展&#xff0c;成為內容創作領域的重要革新力量。本文將全面對比四款主流AI視頻生成工具&#xff1a;元寶AI、即夢AI、清影AI生視頻和Vidu AI&#xff0c;從公司背景、技術路線、產品特點、發展歷程和市場定位等多個維度進行深入分析。一、基…

2026屆大數據畢業設計選題推薦-基于Python的出行路線規劃與推薦系統 爬蟲數據可視化分析

&#x1f525;作者&#xff1a;it畢設實戰小研&#x1f525; &#x1f496;簡介&#xff1a;java、微信小程序、安卓&#xff1b;定制開發&#xff0c;遠程調試 代碼講解&#xff0c;文檔指導&#xff0c;ppt制作&#x1f496; 精彩專欄推薦訂閱&#xff1a;在下方專欄&#x1…

基于SpringBoot的高校科研項目管理系統【2026最新】

作者&#xff1a;計算機學姐 開發技術&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源碼”。 專欄推薦&#xff1a;前后端分離項目源碼、SpringBoot項目源碼、Vue項目源碼、SSM項目源碼、微信小程序源碼 精品專欄&#xff1a;…

【開題答辯全過程】以 在線考試系統為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人&#xff0c;語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

Marin說PCB之POC電路layout設計仿真案例---11

上節文章中大家不知道發現沒有我們RX0_96712_FAKRA_3--TDR結果顯示芯片端口阻抗還是偏低一些&#xff0c;但是這個該如何去改善優化設計呢&#xff1f;因為目前的PCB設計上&#xff0c;RX0_96712_FAKRA_3這個信號在芯片焊盤處是已經做了隔層參考的優化處理了&#xff1a;RX0_96…

【踩坑】修復 clear 報錯 terminals database is inaccessible

轉載請注明出處&#xff1a;小鋒學長生活大爆炸[xfxuezhagn.cn] 如果本文幫助到了你&#xff0c;歡迎[點贊、收藏、關注]哦~ 主要原因&#xff1a;Anaconda3 路徑中的 clear 命令干擾了系統中的 clear 命令。 可能操作&#xff1a;你可能在安裝后將 anaconda 目錄移動了&#…

重學JS-005 --- JavaScript算法與數據結構(五)回顧 DOM 操作

文章目錄style.displayinnerText學到的代碼寫法小總結style.display 使用元素的 style.display 屬性&#xff0c;將屬性的值設置為 “block” 或 “none”&#xff0c;可以顯示或隱藏元素。 resetGameBtn.style.display block; optionsContainer.style.display none;innerT…