科大訊飛筆試題---字符串切割

1、

題目描述
小紅拿到了一個字符串,她希望你幫她切割成若干子串,滿足以下兩個條件:
子串長度均為不小于 3 的奇數。
子串內部的字符全部相同。
輸入
第一行輸入一個正整數n,代表字符串長度。第二行輸入一個字符串,僅由小寫字母組成。
輸出
如果無解,請輸出-1。否則按順序輸出若干個字符串,用空格隔開。
樣例輸入
11
aaabbbbbbbb
樣例輸出
aaa bbb bbbbb
提示
在樣例中,長度為 8 的 bbb…b 子串在樣例輸出中被分為了 bbb 和 bbbbb,在只要滿足題目給定的條件下,將其分為 bbbbb 和 bbb 也對。
也就是輸出還可以為:
aaa bbbbb bbb
數據范圍:
1 < n ≤ 200000

2、解答

#include <iostream>
#include <vector>
#include <sstream> // 用于字符串流
int main()
{std::vector<std::string> S;int n, count = 1, num = 0;std::string line;std::cin >> n;std::cin.ignore();std::getline(std::cin, line);int length = n;for (int i = 0; i < length; i++){while (line[i] > 'z' || line[i] < 'a'){std::cout << -1 << std::endl;return 0;}if (line[i] == line[i + 1]){count ++;continue;}if (count % 2)//奇數{num = num + count;std::string s1 = line.substr(num-count, count);S.push_back(s1);}else{num = num + count;if (count < 6){std::cout << -1 << std::endl;return 0;}else{int min = 3;std::string s2 = line.substr(num - count, min);std::string s3 = line.substr(min, count-min);S.push_back(s2);S.push_back(s3);}}count = 1;}for (const std::string& str : S) {std::cout << str <<" ";}return 0;
}

3、關鍵

主要是最后一起輸出,不能找到一組就輸出,后面可能不滿足的條件。
面對未知的字符串個數時,立馬應該想到用vector之類可以自動延伸的容器存儲。

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

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

相關文章

前端基礎入門三大核心之HTML篇:解密標簽、標題與段落的藝術

前端基礎入門三大核心之HTML篇&#xff1a;解密標簽、標題與段落的藝術 一、HTML標簽&#xff1a;網頁元素的建筑磚石1.1 HTML標簽的基本概念1.2 基礎標簽示例自閉合標簽示例&#xff1a;圖片標簽 1.3 實戰應用&#xff1a;使用<meta>標簽優化網頁 二、標題標簽&#xff…

運行時間比較

subprocess.run() 函數參數的含義&#xff1a; shell_command&#xff1a;這是要執行的命令。它可以是一個字符串&#xff0c;也可以是一個包含命令和參數的列表。例如&#xff0c;“ls -l” 或 [“ls”, “-l”]。shellTrue&#xff1a;這是一個布爾值參數&#xff0c;指示是…

新一代分布式鏈路追蹤skywalking編碼實戰教程(下)

&#x1f680; 作者 &#xff1a;“二當家-小D” &#x1f680; 博主簡介&#xff1a;?前荔枝FM架構師、阿里資深工程師||曾任職于阿里巴巴擔任多個項目負責人&#xff0c;8年開發架構經驗&#xff0c;精通java,擅長分布式高并發架構,自動化壓力測試&#xff0c;微服務容器化k…

PostgresSQL開啟歸檔模式

文章目錄 一、查詢數據庫歸檔是否開啟1、查看數據目錄(找出conf文件位置)2、查看歸檔是否開啟 二、開啟歸檔模式&#xff08;開啟后有一定的性能損耗&#xff09;1、創建歸檔目錄2、修改postgresql.conf配置文件3、重啟pg 三、驗證歸檔情況1、查看歸檔是否開啟2、檢查點 , 刷新…

利用遠控工具橫向

一.橫向移動介紹和方式 1.介紹 內網滲透的橫向移動是指攻擊者在成功進入內網后&#xff0c;通過利用內部系統的漏洞或者獲取的合法訪問權限&#xff0c;從一個受感染的系統向其他系統擴散或移動。這種橫向移動的目的通常是為了獲取更多的敏感信息、提升權限、擴大攻擊面或者更…

【藍橋杯】

題目列表 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) #include<bits/stdc.h> using llunsigned long long; #define int ll const int N2e510; int k0; std::string s; int a,b,c,d; void solve() {char op;std::cin>>op;if(opA){std::string s;for(int i1;i&l…

文心一言指令解析

1、介紹 文心一言是一款靈感啟發類的產品&#xff0c;它以簡潔而深刻的文字表達來激發讀者的思考和感悟。該產品通過每天提供一句精選的短語&#xff0c;讓用戶在繁忙的生活中停下腳步&#xff0c;思考人生和內心的真實需求。 每一句文心一言都經過精心挑選&#xff0c;它們通…

小程序-滾動觸底-頁面列表數據無限加載

// index/index.vue <template> <!-- 自定義導航欄 --> <CustomNavbar /> <scroll-view scrolltolower"onScrolltolower" scroll-y class"scroll-view"> <!-- 猜你喜歡 --> <Guess ref"guessRef" /> </s…

Hugging Face的TrainingArguments常用參數學習

Hugging Face的TrainingArguments類是用于設置和管理訓練模型時的各種參數。下面是一些關鍵參數及其原理和使用示例&#xff1a; 1. 輸出目錄 (output_dir) 描述&#xff1a;保存模型和檢查點的目錄。 示例&#xff1a; output_dir./results2. 訓練和驗證批次大小 (per_devi…

藍橋杯高頻考點真題單——4.修改數組

修改數組 8.修改數組 - 藍橋云課 (lanqiao.cn) 本來我的思路很一般&#xff0c;用一個set&#xff0c;記錄每一段的最值&#xff0c;然后分情況討論&#xff0c;如果查詢到未記錄的&#xff0c;那就直接輸出&#xff0c;并記錄。如果當前值前面已經有過&#xff0c;那就直接從…

惡劣天氣下的車輛探測:多方關注 多模態融合方法

摘要 在自動駕駛汽車技術領域&#xff0c;多模式車輛檢測網絡(MVDNet)代表了一個重大的飛躍&#xff0c;特別是在具有挑戰性的天氣條件下。本文主要通過集成多頭關注層對MVDNet進行增強&#xff0c;旨在改進其性能。MVDNet模型中集成的多頭關注層是一個關鍵的改進&#xff0c;…

民國漫畫雜志《時代漫畫》第14期.PDF

時代漫畫14.PDF: https://url03.ctfile.com/f/1779803-1247458399-6732ac?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps:資源來源網絡&#xff01;

java+ vue.js+uniapp一款基于云計算技術的企業級生產管理系統,云MES源碼 MES系統如何與ERP系統集成?

java vue.jsuniapp一款基于云計算技術的企業級生產管理系統&#xff0c;云MES源碼&#xff0c;MES系統如何與ERP系統集成&#xff1f; MES系統&#xff08;制造執行系統&#xff09;與ERP系統&#xff08;企業資源規劃系統&#xff09;的集成可以通過多種方式實現&#xff0c;這…

探索亞馬遜云科技技術課程:大模型平臺與提示工程的應用與優化

上方圖片源自亞馬遜云科技【生成式 AI 精英速成計劃】技術開發技能課程 前言 學習了亞馬遜云科技–技術開發技能課程 本課程分為三個部分&#xff0c;了解如何使用大模型平臺、如何訓練與部署大模型及生成式AI產品應用與開發&#xff0c;了解各類服務的優勢、功能、典型使用案…

蘋果MacOS系統使用微軟遠程桌面連接Windows電腦桌面詳細步驟

文章目錄 前言1. 測試本地局域網內遠程控制1.1 Windows打開遠程桌面1.2 局域網遠程控制windows 2. 測試Mac公網遠程控制windows2.1 在windows電腦上安裝cpolar2.2 Mac公網遠程windows 3. 配置公網固定TCP地址 前言 日常工作生活中&#xff0c;有時候會涉及到不同設備不同操作系…

Vue3實戰筆記(38)—粒子特效終章

文章目錄 前言一、怎樣使用官方提供的特效二、海葵特效總結 前言 官方還有很多漂亮的特效&#xff0c;但是vue3只有一個demo&#xff0c;例如我前面實現的兩個頁面就耗費了一些時間&#xff0c;今天記錄一下tsparticles官方內置的幾個特效的使用方法&#xff0c;一般這幾個就足…

微信小程序---小程序文檔配置(2)

一、小程序文檔配置 1、小程序的目錄結構 1.1、目錄結構 小程序包含一個描述整體程序的 app 和多個描述各自頁面的 page 一個小程序主體部分由三個文件組成&#xff0c;必須放在項目的根目錄 比如當前我們的《第一個小程序》項目根目錄下就存在這三個文件&#xff1a; 1…

新媒體運營十大能力,讓品牌聞達天下!

" 現在新媒體蓬勃發展&#xff0c;很多品牌都有新媒體運營這個崗位。新媒體運營好的話&#xff0c;可以提高公司品牌曝光、影響力。那新媒體運營具備什么能力&#xff0c;才能讓品牌知名度如虎添翼呢&#xff1f;" 信息收集能力 在移動互聯網時代&#xff0c;信息的…

單細胞分析(Signac): PBMC scATAC-seq 聚類

引言 在本教學指南中&#xff0c;我們將探討由10x Genomics公司提供的人類外周血單核細胞&#xff08;PBMCs&#xff09;的單細胞ATAC-seq數據集。 加載包 首先加載 Signac、Seurat 和我們將用于分析人類數據的其他一些包。 if (!requireNamespace("EnsDb.Hsapiens.v75&qu…

JVM嚴鎮濤版筆記【B站面試題】

前言 2023-06-19 18:49:33 出自B站 灰灰的Java面試 楓葉云鏈接&#xff1a;http://cloud.fynote.com/s/4976 JVM面試題大全 Lecturer &#xff1a;嚴鎮濤 1.為什么需要JVM&#xff0c;不要JVM可以嗎&#xff1f; 1.JVM可以幫助我們屏蔽底層的操作系統 一次編譯&#xff0c…