L1-032 Left-pad(PTA)

文章目錄

  • L1-032 Left-pad
    • 題目描述
    • 代碼

L1-032 Left-pad

題目描述

根據新浪微博上的消息,有一位開發者不滿NPM(Node Package Manager)的做法,收回了自己的開源代碼,其中包括一個叫left-pad的模塊,就是這個模塊把javascript里面的React/Babel干癱瘓了。這是個什么樣的模塊?就是在字符串前填充一些東西到一定的長度。例如用 * 去填充字符串GPLT,使之長度為10,調用left-pad的結果就應該是******GPLT。Node社區曾經對left-pad緊急發布了一個替代,被嚴重吐槽。下面就請你來實現一下這個模塊。

輸入格式:
輸入在第一行給出一個正整數N(≤104 )和一個字符,分別是填充結果字符串的長度和用于填充的字符,中間以1個空格分開。第二行給出原始的非空字符串,以回車結束。

輸出格式:
在一行中輸出結果字符串。

輸入樣例1:

15 _
I love GPLT

輸出樣例1:

____I love GPLT

輸入樣例2:

4 *
this is a sample for cut

輸出樣例2:

 cut

代碼

#include<bits/stdc++.h> // 引入幾乎所有的常用庫,一般在競賽編程中使用
using namespace std;int main()
{int n; // 定義一個整數變量n,表示最終字符串的長度string a; // 定義一個字符串變量a,存儲用于填充的字符cin >> n >> a; // 從標準輸入讀取長度n和填充字符acin.ignore(); // 忽略掉前面讀取整數后的換行符,以免影響后續的字符串讀取string b; // 定義字符串b,用來存儲原始字符串getline(cin, b); // 從標準輸入讀取原始字符串if(n > b.size()) // 如果指定的長度n大于原始字符串b的長度{int t = n - b.size(); // 計算需要填充的字符數while(t--) // 循環填充字符{b.insert(0, a); // 在字符串b的開頭插入填充字符a,直到其長度達到n}}else // 如果指定的長度n小于或等于原始字符串b的長度{int t = b.size() - n; // 計算原始字符串b中需要裁剪掉的字符數量b = b.substr(t, n); // 從字符串b中裁剪出新的長度為n的字符串}cout << b; // 輸出最終得到的字符串return 0; // 程序結束
}

此代碼的主要邏輯是:

  • 首先讀取需要的最終長度 n 和填充用的字符 a。
  • 忽略一個換行符,然后讀取原始字符串 b。
  • 如果原始字符串的長度小于指定的長度 n,計算差值,然后在原始字符串的前面填充足夠數量的指定字符 a。
  • 如果原始字符串的長度大于等于指定的長度 n,則截取原始字符串的最后 n 個字符,使其長度匹配指定的長度。
  • 最終輸出得到的字符串,不論是填充還是截取操作。

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

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

相關文章

使用 Object.defineProperty() 來進行數據劫持有什么缺點?

使用 Object.defineProperty() 來進行數據劫持有什么缺點&#xff1f; &#xff08;1&#xff09;在對一些屬性進行操作時&#xff0c;使用這種方法無法攔截&#xff0c;比如通過下標方式修改數組數據或者給對象新增屬性&#xff0c;這都不能觸發組件的重新渲染&#xff0c;因為…

Vue組件置底方法,ElementPlus布局

問題描述 在開發網頁時使用了elementplus的el-container組件 組件里分成了main和footer兩塊&#xff0c;但是想要將兩個按鈕置底在容器底部遇到了困難 如下圖所示&#xff0c;在網頁開發者工具可見兩個按鈕與左側的圖片沒有底部對齊 此時我的代碼是這樣 <el-footer>&…

STM32自學?串口發送+接收

一、相關函數說明&#xff1a; USART_ClockInit()和USART_ClockStructInit(); 用來配置同步時鐘輸出 USART_DMACmd(); 開啟USART到DMA的觸發通道 USART_SendData(); 發送數據 USART_ReceiveData(); 接收數據 二、程序代碼 serial.c文件 #include "stm32f10x.h" #i…

文件底層的深入理解之文件輸入輸出重定向

目錄 一、文件fd的分配規則 二、對輸出重定向現象的理解 三、輸出輸入重定向的簡單實現 1、輸出重定向 2、輸入重定向 一、文件fd的分配規則 最小的沒有被使用的數組下標&#xff0c;會被分配給最新打開的文件。 二、對輸出重定向現象的理解 正如上面這段代碼所示&#xff0…

C語言實現日本某地發生了一件謀殺案

題目 猜兇手 題目內容&#xff1a; 日本某地發生了一件謀殺案&#xff0c;警察通過排查確定殺人兇手必為4個嫌疑犯的一個。 以下為4個嫌疑犯的供詞: A說&#xff1a;不是我。 B說&#xff1a;是C。 C說&#xff1a;是D。 D說&#xff1a;C在胡說 已知3個人說了真話&…

從零開始學習Netty - 學習筆記 -Netty入門【半包,黏包】

Netty進階 1.黏包半包 1.1.黏包 服務端代碼 public class HelloWorldServer {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());public static void main(String[] args) {NioEventLoopGroup bossGroup new NioEventL…

Ubuntu上Jenkins自動化部署Gitee上VUE項目

文章目錄 1.安裝NodeJS插件2.配置全局工具配置-NodeJS環境變量3.新建自由風格的軟件項目任務4.配置General配置丟棄舊的構建配置參數化構建過程 5.配置源碼管理6.構建觸發器7.設置構建環境8.配置構建步驟9.配置構建后操作10測試構建 前文鏈接&#xff1a; Ubuntu上Jenkins自動…

java常用應用程序編程接口(API)——Instant,DateTimeFormatter,Period,Duration概述

前言&#xff1a; 整理下學習心得。打好基礎&#xff0c;daydayup&#xff01; Instant Instant是時間線上的某個時刻/時間戳&#xff0c;通過獲取Instant的對象可以拿到此刻的時間&#xff0c;該時間由兩部分組成&#xff1a;1&#xff0c;從1970年1月1日00:00:00開始走到此刻…

前端開發 VSCode 插件推薦

1、Chinese (Simplified) (簡體中文) Language Pack for Visual Studio Code VS Code 的中文&#xff08;簡體&#xff09;語言包&#xff0c;此中文&#xff08;簡體&#xff09;語言包為 VS Code 提供本地化界面。 下載地址&#xff1a;Chinese (Simplified) (簡體中文) La…

D*算法超詳解 (D星算法 / Dynamic A*算法/ Dstar算法)(死循環解決--跟其他資料不一樣奧)

所需先驗知識&#xff08;沒有先驗知識可能會有大礙&#xff0c;了解的話會對D*的理解有幫助&#xff09;&#xff1a;A*算法/ Dijkstra算法 何為D*算法 Dijkstra算法是無啟發的尋找圖中兩節點的最短連接路徑的算法&#xff0c;A*算法則是在Dijkstra算法的基礎上加入了啟發函數…

[JavaWeb玩耍日記]HTML+CSS+JS快速使用

目錄 一.標簽 二.指定css 三.css選擇器 四.超鏈接 五.視頻與排版 六.布局測試 七.布局居中 八.表格 九.表單 十.表單項 十一.JS引入與輸出 十二.JS變量&#xff0c;循環&#xff0c;函數 十三.Array與字符串方法 十四.自定義對象與JSON 十五.BOM對象 十六.獲取…

Network LSA 結構簡述

Network LSA主要用于描述一個區域內的網絡拓撲結構&#xff0c;包括網絡中的路由器和連接到這些路由器的網絡。它記錄了每個路由器的鄰居關系、連接狀態以及連接的度量值&#xff08;如帶寬、延遲等&#xff09;&#xff0c;以便計算最短路徑和構建路由表。display ospf lsdb n…

網關kong記錄接口處理請求和響應插件 tcp-log-with-body的安裝

tcp-log-with-body 介紹 Kong的tcp-log-with-body插件是一個高效的工具&#xff0c;它能夠轉發Kong處理的請求和響應。這個插件非常適用于需要詳細記錄API請求和響應信息的情景&#xff0c;尤其是在調試和排查問題時。 軟件環境說明 kong version 2.1.4 - 2.8.3 [可用親測]C…

二、數據結構——單鏈表,雙鏈表,棧,隊列,單調棧,單調隊列,KMP,Trie,并查集,堆,哈希表等內容。

對于鏈表來說&#xff0c;由于new操作時間太長&#xff0c;因此&#xff0c;算法題中一般使用靜態鏈表。 1.單鏈表 采用數組實現單鏈表&#xff0c;可以直接開兩個數據&#xff0c;一個數組存放數值&#xff0c;另外一個數據存放下一個元素&#xff08;指針&#xff09;。 示…

JavaScript“基本語法”筆記(自學第一天)!

一、JavaScript的用途和應用領域 JavaScript的應用領域非常廣泛&#xff0c;主要包括以下幾個方面&#xff1a; 網頁交互性: JavaScript最初是為了增強網頁的交互性而開發的&#xff0c;它可以控制網頁的行為、樣式和內容&#xff0c;使用戶能夠與網頁進行實時交互&#xff0c…

一個教材上的CMS網站源碼在Linux服務器上登錄時驗證碼正常,但在windows下不能正常顯示

一個教材上的CMS網站源碼在Linux服務器上登錄時驗證碼正常&#xff0c;但在windows下不能正常顯示。 在linux服務器上能正常顯示。顯示界面如下所示&#xff1a;

蜻蜓FM語音下載(mediadown)

一、介紹 蜻蜓FM語音下載&#xff08;mediadown&#xff09;&#xff0c;能夠幫助你下載蜻蜓FM音頻節目。如果你是蜻蜓FM會員&#xff0c;它還能幫你下載會員節目。 二、下載地址 本站下載&#xff1a;蜻蜓FM語音下載&#xff08;mediadown&#xff09; 百度網盤下載&#…

Web 應用防火墻(WAF):功能、應用場景和未來發展方向

Web 應用防火墻&#xff08;WAF&#xff09;是一種用于保護 Web 應用程序免受各種網絡攻擊的安全工具。WAF 可以檢測并阻止對 Web 應用程序的惡意攻擊&#xff0c;如SQL 注入、跨站腳本&#xff08;XSS&#xff09;和跨站請求偽造&#xff08;CSRF&#xff09;等。它通過檢查 H…

【Redis 主從復制】

文章目錄 1 :peach:環境配置:peach:1.1 :apple:三種配置方式:apple:1.2 :apple:驗證:apple:1.3 :apple:斷開復制和切主:apple:1.4 :apple:安全性:apple:1.5 :apple:只讀:apple:1.6 :apple:傳輸延遲:apple: 2 :peach:拓撲結構:peach:2.1 :apple:?主?從結構:apple:2.2 :apple:?…

【MetaGPT】配置教程

MetaGPT配置教程&#xff08;使用智譜AI的GLM-4&#xff09; 文章目錄 MetaGPT配置教程&#xff08;使用智譜AI的GLM-4&#xff09;零、為什么要學MetaGPT一、配置環境二、克隆代碼倉庫三、設置智譜AI配置四、 示例demo&#xff08;狼羊對決&#xff09;五、參考鏈接 零、為什么…