算法訓練營Day8(字符串)

?344.反轉字符串

344. 反轉字符串 - 力扣(LeetCode)

class Solution {public void reverseString(char[] s) {for(int i = 0,j = s.length-1;i< s.length/2 ; i++,j--){swap(s,i,j);}}public void swap(char[] s,int i,int j ){char temp = s[i];s[i] = s[j];s[j] = temp;}
}
public void reverseString(char[] s) {for(int i = 0,j = s.length-1;i< j ; i++,j--){swap(s,i,j);}}public void swap(char[] s,int i,int j ){char temp = s[i];s[i] = s[j];s[j] = temp;}

541.?反轉字符串II

541. 反轉字符串 II - 力扣(LeetCode)

class Solution {public String reverseStr(String s, int k) {char [] ch = s.toCharArray();//1  2k一次進行反轉for(int i =0;i<ch.length;i+=2*k ){//能湊夠k個if(i+k<=ch.length){reverseStr(ch,i,i+k-1);continue;}//湊不夠k個reverseStr(ch,i,s.length()-1);}return new String(ch);}public void reverseStr(char [] ch,int i,int j){for(;i<j;i++,j--){char temp = ch[i];ch[i] = ch[j];ch[j] = temp;}}
}

卡碼54替換數字

題目頁面 (kamacoder.com)

import java.util.Scanner;class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String s = in.nextLine();StringBuilder sb = new StringBuilder();for (int i = 0; i < s.length(); i++) {if (Character.isDigit(s.charAt(i))) {sb.append("number");}else sb.append(s.charAt(i));}System.out.println(sb);}
}

151.翻轉字符串里的單詞?

151. 反轉字符串中的單詞 - 力扣(LeetCode)

我認為我這里去重' '做的還是比較舒服的,

slow!=0,也就是第一個位置不留空格

前面的幾個就是單詞后面留空格的邏輯了,fast<len-1是防止最后一個元素空指針異常。

class Solution {public String reverseWords(String s) {char[] ch = s.toCharArray();// --hello-word--reverseS(ch,0,ch.length-1);//--drow--olleh--int slow = 0;for (int fast =0; fast < ch.length;fast++) {if(ch[fast]==' '&&fast<ch.length-1&&ch[fast+1]!=' '&&slow!=0){ch[slow++] = ch[fast];}if(ch[fast]!=' '){ch[slow++]=ch[fast];}}//drow-olleh------char [] newCh = new char[slow];System.arraycopy(ch,0,newCh,0,slow);//drow-ollehint start = 0;int end = 1;int n = newCh.length;while(start<n){while (end<n&&ch[end]!=' ') end++;reverseS(newCh,start,end-1);start = end+1;end = start+1;}return new String(newCh);}public void reverseS(char [] ch,int i,int j){for(;i<j;i++,j--){char temp = ch[i];ch[i] = ch[j];ch[j] = temp;}}
}

卡碼網:55.右旋轉字符串

題目頁面 (kamacoder.com)


public class Sloution54 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();String str = sc.next();//abcdefg len = 7StringBuilder sb = new StringBuilder();for (int i = str.length()-n; i < str.length(); i++) {char c = str.charAt(i);sb.append(c);}for (int i = 0; i < str.length() - n; i++) {char c = str.charAt(i);sb.append(c);}System.out.println(sb);}
}

補充

卡瑪網里的這兩道題日后用C++做一遍,java理解不到精華。

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

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

相關文章

Python數據科學視頻講解:Python注釋

2.3 Python注釋 視頻為《Python數據科學應用從入門到精通》張甜 楊維忠 清華大學出版社一書的隨書贈送視頻講解2.3節內容。本書已正式出版上市&#xff0c;當當、京東、淘寶等平臺熱銷中&#xff0c;搜索書名即可。內容涵蓋數據科學應用的全流程&#xff0c;包括數據科學應用和…

20231210原始編譯NanoPC-T4(RK3399)開發板的Android10的SDK

20231210原始編譯NanoPC-T4(RK3399)開發板的Android10的SDK 2023/12/10 17:27 rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ mkdir nanopc-t4 rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ cd nanopc-t4/ …

python4E 之 Dict 找到兩個不同索引但都需要對應的值。

找到兩個不同索引但都需要&#xff0c;對應的值。 df pd.DataFrame(np.random.randint(1, 10, [3,3]), columns list(ABC)) 通過 dict 制造key index_htable{} for _,row in idc.iterrows(): #按行循環 key str(row[u股票代碼]) | str(row[u日期]) #根據不同 的索引…

45.0/HTML 簡介(詳細版)

目錄 45.1 互聯網簡介 45.2 網頁技術與分類 45.3 HTML 簡介 45.3.1 什么是 HTML?(面試題) 45.3.2 HTML 文件結構 45.3.3 HTML 語法 45.3.4 實例演練步驟(面試題) 45.4 head 中的常用標簽 45.4.1 title 標記 45.4.2 meta 標記 45.4.3 45.4.4 45.4.4(面試題)總結: 45…

【AIE】AIE微信合集

AIE微信合集 AIE(1) 對于Versal&#xff0c;我們從系統角度看&#xff0c;可將其分為3個Domain&#xff1a;AIE、PS和PL&#xff0c;如下圖所示。如果要運行一個AIE的應用&#xff0c;絕大多數情況下&#xff0c;這3個Domain我們都會用到&#xff0c;使其協同工作。這里我們僅…

linux less命令(less指令)(查看開頭、從開頭查看、從起始查看、反向導航、反向查找)

文章目錄 Linux Less 命令1. Less 命令簡介2. 基礎用法less filename<command> | less 3. 常用命令行選項4. 高級技巧和用法4.1 搜索內容4.2 標記和跳轉4.3 查看多個文件 5. less命令使用文檔6. 總結 Linux Less 命令 less 是一種在Linux環境中查看文件內容的工具&#…

《絕地求生》新手怎么玩 游戲基本介紹

隨著電競熱潮的興起&#xff0c;《絕地求生》已經成為了一款備受玩家熱愛的游戲。這款游戲在全球范圍內擁有龐大的玩家群體&#xff0c;它將你置身于一個荒無人煙的島嶼上&#xff0c;與其他99名玩家展開生死競爭。作為一個新手&#xff0c;下面閑游盒小盒子就為大家詳細介紹一…

Ubuntu20.04創建并掛在zfs池

Ubuntu 下使用 ZFS [適用于中高級用戶] 主磁盤上清潔安裝帶有ZFS的Ubuntu后&#xff0c;可以開始體驗其特性。 所有ZFS配置過程都需要命令行。 我不知道有GUI工具。 創建一個 ZFS 池 本節僅適用于具有多個磁盤的系統。 如果只有一個磁盤&#xff0c;Ubuntu會在安裝時自動創建…

寫實3D游戲模型紋理貼圖設置

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xff1a; …

Mybatis源碼解析5:Mapper執行流程1

Mybatis源碼解析5&#xff1a;Mapper執行流程1 1.項目結構2. 源碼分析2.1 Mapper代理 MapperProxy#invoke2.2 創建MapperMethod2.2.1 方法名稱解析器ParamNameResolve2.2.2 MapperMethod#execute 2.3 DefaultSqlSession2.4 CachingExecutor2.5 SimpleExecutor#doQuery獲取連接對…

Nacos源碼解讀09——配置中心配置信息創建修改怎么處理的

存儲配置 從整體上Nacos服務端的配置存儲分為三層&#xff1a; 內存&#xff1a;Nacos每個節點都在內存里緩存了配置&#xff0c;但是只包含配置的md5&#xff08;緩存配置文件太多了&#xff09;&#xff0c;所以內存級別的配置只能用于比較配置是否發生了變更&#xff0c;只用…

進行生成簡單數字圖片

1.之前只能做一些圖像預測,我有個大膽的想法,如果神經網絡正向就是預測圖片的類別,如果我只有一個類別那就可以進行生成圖片,專業術語叫做gan對抗網絡 2.訓練代碼 import torch import torch.nn as nn import torch.optim as optim import torchvision.transforms as transfo…

飛天使-rsync大文件斷點續傳與vim批量刪除

文章目錄 rsync 斷點續傳&#xff0c;親測有效vim 批量刪除消息 rsync 斷點續傳&#xff0c;親測有效 rsync -vzrtp -P --append -e "/usr/bin/ssh -p 22 -o StrictHostKeyCheckingno" m.tar.gz root10.0.0.1:/tmp后臺運行 screem 既可 或者 nohup rsync -vzrt…

【華為od】存在一個m*n的二維數組,其成員取值范圍為0,1。其中值為1的元素具備擴散性,每經過1S,將上下左右值為0的元素同化為1。

存在一個m*n的二維數組,其成員取值范圍為0,1。其中值為1的元素具備擴散性,每經過1S,將上下左右值為0的元素同化為1。將數組所有成員初始化為0,將矩陣的[i, j]和[m,n]位置上元素修改成1后,在經過多長時間所有元素變為1。 輸入描述 輸入的前兩個數字是矩陣大小。后面是數字…

盛域宏數合伙人張天:AI時代,數字化要以AI重構

大數據產業創新服務媒體 ——聚焦數據 改變商業 在這個飛速發展的科技時代&#xff0c;數字化已經深刻地改變了我們的生活和商業方式。信息技術的迅猛發展使得數據成為現代社會最寶貴的資源之一。數字化已經不再是可選項&#xff0c;而是企業持續發展的必由之路。背靠著數據的…

【React】路由的基礎使用

react-router-dom6的基礎使用 1、安裝依賴 npm i react-router-dom默認安裝最新版本的 2、在src/router/index.js import { createBrowserRouter } from "react-router-dom"/* createBrowserRouter&#xff1a;[/home]--h5路由createHashRouter&#xff1a;[/#/ho…

Linux訪問NFS存儲及自動掛載

本章主要介紹NFS客戶端的使用 創建NFS服務器并通過NFS共享一個目錄在客戶端上訪問NFS共享的目錄自動掛載的配置和使用 1.1 訪問NFS存儲 前面那篇介紹了本地存儲&#xff0c;本章就來介紹如何使用網絡上上的存儲設備。NFS即網絡文件系統&#xff0c;所實現的是Linux和Linux之…

通信:mqtt學習網址

看這個網址&#xff1a;講的很詳細&#xff0c;后面補實戰例子 第一章 - MQTT介紹 MQTT協議中文版 (gitbooks.io)https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html

【網絡編程】-- 04 UDP

網絡編程 6 UDP 6.1 初識Tomcat 服務端 自定義 STomcat S 客戶端 自定義 C瀏覽器 B 6.2 UDP 6.2.1 udp實現發送消息 接收端&#xff1a; package com.duo.lesson03;import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketExceptio…

【論文極速讀】LVM,視覺大模型的GPT時刻?

【論文極速讀】LVM&#xff0c;視覺大模型的GPT時刻&#xff1f; FesianXu 20231210 at Baidu Search Team 前言 這一周&#xff0c;LVM在arxiv上剛掛出不久&#xff0c;就被眾多自媒體宣傳為『視覺大模型的GPT時刻』&#xff0c;筆者抱著強烈的好奇心&#xff0c;在繁忙工作之…