面試題. 字符串壓縮

字符串壓縮。利用字符重復出現的次數,編寫一種方法,實現基本的字符串壓縮功能。比如,字符串aabcccccaaa會變為a2b1c5a3。若“壓縮”后的字符串沒有變短,則返回原先的字符串。你可以假設字符串中只包含大小寫英文字母(a至z)。

示例1:

 輸入:"aabcccccaaa"輸出:"a2b1c5a3"

示例2:

 輸入:"abbccd"輸出:"abbccd"解釋:"abbccd"壓縮后為"a1b2c2d1",比原字符串長度更長。

代碼如下:

class Solution {
public:string compressString(string S) {if(S.size()==0){return S;}string res;//定義新的字符串,存放壓縮后的字符串int sum=1;//記錄相等字符的個數for(int i=0;i<S.size();i++){if(S[i]==S[i+1])//當相鄰的字符相等時{sum++;//個數++}else{res+=S[i];//存入新的字符串里res+=to_string(sum);//將int型sum轉化為string類型,并且存入到字符串里sum=1;}}return S.size()<=res.size()?S:res;//原來的數組與新的數組,返回長度較小的數組,如果兩個數組的長度相等,返回原來的數組}
};

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

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

相關文章

【JavaEE進階】Spring 更簡單的讀取和存儲對象

文章目錄 一. 存儲Bean對象1. 配置掃描路徑2. 添加注解存儲 Bean 對象2.1 使用五大類注解存儲Bean2.2 為什么要有五大類注解&#xff1f;2.3 有關獲取Bean參數的命名規則 3. 使用方法注解儲存 Bean 對象3.1 方法注解儲存對象的用法3.2 Bean的重命名3.3 同?類型多個 Bean 報錯 …

Spring Boot單元測試與Mybatis單表增刪改查

目錄 1. Spring Boot單元測試 1.1 什么是單元測試? 1.2 單元測試有哪些好處? 1.3 Spring Boot 單元測試使用 單元測試的實現步驟 1. 生成單元測試類 2. 添加單元測試代碼 簡單的斷言說明 2. Mybatis 單表增刪改查 2.1 單表查詢 2.2 參數占位符 ${} 和 #{} ${} 和 …

學點Selenium玩點新鮮~,讓分布式測試有更多玩法

前 言 我們都知道 Selenium 是一款在 Web 應用測試領域使用的自動化測試工具&#xff0c;而 Selenium Grid 是 Selenium 中的一大組件&#xff0c;通過它能夠實現分布式測試&#xff0c;能夠幫助團隊簡單快速在不同的環境中測試他們的 Web 應用。 分布式執行測試其實并不是一…

opencv,opengl,osg,vulkan,webgL,opencL,cuda

OpenCV OpenCV是一個基于BSD許可&#xff08;開源&#xff09;發行的跨平臺計算機視覺和機器學習軟件庫&#xff0c;可以運行在Linux、Windows、Android和Mac OS操作系統上。 它輕量級而且高效——由一系列 C 函數和少量 C 類構成&#xff0c;同時提供了Python、Ruby、MATLAB等…

安卓java A應用切換到B應用,來回切換不執行OnCreate

需求&#xff1a;安卓java如何做到A應用切換到B應用&#xff0c;如果B應用沒啟動就啟動&#xff0c;如果B應用已經啟動就僅僅切換到B應用。B應用再切換回A應用&#xff0c;不要重復執行OnCreate! 在 A 應用中的&#xff1a; 在 A 應用中&#xff0c;如果你希望在切換回 B 應用…

小米平板6Max14即將發布:自研G1 電池管理芯片,支持33W反向快充

明天晚上7點&#xff08;8 月 14 日&#xff09;&#xff0c;雷軍將進行年度演講&#xff0c;重點探討“成長”主題。與此同時&#xff0c;小米將推出一系列全新產品&#xff0c;其中包括備受矚目的小米MIX Fold 3折疊屏手機和小米平板6 Max 14。近期&#xff0c;小米官方一直在…

分布式搜索ElasticSearch-ES(一)

一、ElasticSearch介紹 ES是一款非常強大的開源搜索引擎&#xff0c;可以幫我們從海量的數據中快速找到我們需要的內容。 ElasticSearch結合kibana、Logstash、Beats&#xff0c;也就是elastic stack(ELK)&#xff0c;被廣泛運用在日志數據分析&#xff0c;實時監控等領域。 …

accumulate函數的簡單應用

accumulate函數是C numeric庫中的一個函數&#xff0c;主要用來對指定范圍內元素求和&#xff0c;但也自行指定一些其他操作&#xff0c;如范圍內所有元素相乘、相除等。 使用前需要引用頭文件&#xff1a; #include <numeric>函數共有四個參數&#xff0c;其中前三個為…

Ajax 筆記(二)—— Ajax 案例

筆記目錄 2. Ajax 綜合案例2.1 案例一-圖書管理2.1.1 渲染列表2.1.2 新增圖書2.1.3 刪除圖書2.1.4 編輯圖書 2.2 案例二-背景圖的上傳和更換2.2.1 上傳2.2.2 更換 2.3 案例三-個人信息設置2.3.1 信息渲染2.3.2 頭像修改2.2.3 信息修改2.3.4 提示框 Ajax 筆記&#xff1a; Ajax…

React Native 列表組件基礎知識

ScrollView 組件 ScrollView組件是一個容器滾動組件&#xff0c;當容器超出指定寬高時就可以進行滾動交互。 ScrollView組件是一次性渲染所有的 React 子組件&#xff0c;這在性能上是比較差的&#xff0c;所以不建議當列表特別長的時候使用此組件。 接下來列舉幾個常用的一…

HTML(JavaEE初級系列12)

目錄 前言&#xff1a; 1.HTML結構 1.1認識HTML標簽 1.2HTML文件基本結構 1.3標簽層次結構 1.4快速生成代碼框架 2.HTML常見標簽 2.1注釋標簽 2.2標題標簽&#xff1a;h1-h6 2.3段落標簽&#xff1a;p 2.4換行標簽&#xff1a; br 2.5格式化標簽 2.6圖片標簽&#…

【數據結構?堆】經典問題:k路歸并

題目描述 k路歸并問題&#xff1a;   把k個有序表合并成一個有序表。&#xff08; k < 10^4 &#xff09; 輸入輸出格式 輸入格式&#xff1a; 輸入數據共有 2*k1 行。   第一行&#xff0c;一個整數k&#xff08; k < 10^4 &#xff09;&#xff0c;表示有k個有序…

【詳細教程】學會使用Python隧道代理

作為一名專業爬蟲程序猿&#xff0c;我深知在進行網絡數據采集時&#xff0c;可能會面臨網絡封鎖、隱私泄露等問題。今天&#xff0c;我將與大家分享如何學會使用Python隧道代理&#xff0c;幫助我們自由訪問受限網站&#xff0c;同時保護了解探索Python隧道代理&#xff01; …

3.1 Spring MVC概述

1. MVC概念 MVC是一種編程思想&#xff0c;它將應用分為模型&#xff08;Model&#xff09;、視圖&#xff08;View&#xff09;、控制器&#xff08;Controller&#xff09;三個層次&#xff0c;這三部分以最低的耦合進行協同工作&#xff0c;從而提高應用的可擴展性及可維護…

C++ opencv:視頻讀取、變換顏色風格、保存

1. 相關知識點 VideoCapture&#xff1b; applyColorMap&#xff1b; VideoWriter&#xff1b; 2. 代碼 編寫代碼main.cpp: #include<iostream> #include "opencv2/opencv.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgu…

解開謎團:為什么紅黑樹勝過AVL樹?

為什么紅黑樹勝過AVL樹 博主簡介一、引言1.1、紅黑樹和AVL樹簡介1.2、紅黑樹在某些方面優于AVL樹 二、紅黑樹和AVL樹的基本原理2.1、紅黑樹的定義和性質2.2、AVL樹的定義和性質2.3、對比兩種樹結構的特點 三、插入和刪除操作的復雜性比較3.1、紅黑樹的插入操作和平衡性維護3.2、…

冪次方(c++題解)

題目描述 任何一個正整數都可以用 22 的冪次方表示。例如 1372^72^32^0。 同時約定方次用括號來表示&#xff0c;即 a^b 可表示為 a(b)。 由此可知&#xff0c;137137 可表示為 2(7)2(3)2(0) 進一步&#xff1a; 7 2^222^0 ( 2^121 用 2 表示)&#xff0c;并且 322^0。 所…

Spring Boot 重啟命令

Spring Boot 重啟命令 本文描述了一個重啟Spring Boot命令執行過程和示例 本文利用kill -9 關閉進程&#xff0c;不優雅&#xff0c;會突然中斷程序&#xff0c;可能導致數據和邏輯異常 搜索微信小程序【亞特技術】在資源中搜索【優雅】可得到Spring Boot如何優化重啟 1. 過…

【Bert101】變壓器模型背后的復雜數學【02/4】

一、說明 眾所周知&#xff0c;變壓器架構是自然語言處理&#xff08;NLP&#xff09;領域的突破。它克服了 seq-to-seq 模型&#xff08;如 RNN 等&#xff09;無法捕獲文本中的長期依賴性的局限性。變壓器架構被證明是革命性架構&#xff08;如 BERT、GPT 和 T5 及其變體&…

【陣列信號處理】空間匹配濾波器、錐形/非錐形最佳波束成形器、樣本矩陣反演 (SMI) 研究(Matlab代碼實現)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;歡迎來到本博客????&#x1f4a5;&#x1f4a5; &#x1f3c6;博主優勢&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客內容盡量做到思維縝密&#xff0c;邏輯清晰&#xff0c;為了方便讀者。 ??座右銘&a…