C# 編程實戰進階:字符串與字符串數組 (3)

目錄

1、給定一個整數數組 nums,將數組中的元素向右輪轉 k 個位置,其中 k 是非負數。

2、無重復字符的最長字符串 ,給定一個字符串 s 請你找出其中不含有重復字符的最長字符串的長度。

3、給定兩個字符串 s 和 t ,它們只包含小寫字母。字符串 t 由字符串 s 隨機重排,然后在隨機位置添加一個字母。請找出在 t 中被添加的字母。

4、定義一個函數,用來取得一個數字的所有因子,把所有因子返回

5、輸入一個字符串,判斷其是否是合法標識符

6、輸入兩個整數 輸出兩個整數的最大公約數


1、給定一個整數數組 nums,將數組中的元素向右輪轉 k 個位置,其中 k 是非負數。

示例 1:

輸入: nums = [1, 2, 3, 4, 5, 6, 7], k = 3
輸出: [5, 6, 7, 1, 2, 3, 4]
解釋:
向右輪轉 1 步: [7, 1, 2, 3, 4, 5, 6]
向右輪轉 2 步: [6, 7, 1, 2, 3, 4, 5]
向右輪轉 3 步: [5, 6, 7, 1, 2, 3, 4]
示例 2: ? ? ? ? ? ?
輸入:nums = [-1, -100, 3, 99], k = 2
輸出:[3, 99, -1, -100]
解釋:向右輪轉 1 步: [99, -1, -100, 3]
向右輪轉 2 步: [3, 99, -1, -100]

Console.Write("請輸入一串整數,以空格隔開:");
string[] nums = (Console.ReadLine()).Split(',');
Console.Write("請輸入向右輪轉k個位置:");
int k = int.Parse(Console.ReadLine());for (int i = 0; i < k; i++)
{string temp = nums[nums.Length - 1];for (int j = nums.Length - 2; j >= 0; j--){nums[j + 1] = nums[j];             }nums[0] = temp;
}// 輸出結果,用逗號分隔
Console.WriteLine(string.Join(",", nums));

2、無重復字符的最長字符串 ,給定一個字符串 s 請你找出其中不含有重復字符的最長字符串的長度。

 Console.Write("請輸入一個字符串:");string s = Console.ReadLine();int Maxlong = 0; //記錄不含有重復字符的最長字符的長度// 外層循環遍歷每個字符作為起始點for (int i = 0; i < s.Length; i++){bool[] charExists = new bool[256];  // 定義一個長度為256的空的布爾數組(每一位默認值為false),用于記錄字符是否出現過int count = 0;                      // 記錄不含有重復字符的長度// 內層循環檢查后續字符for (int j = i; j < s.Length; j++){char c = s[j];if (charExists[c]){break; // 發現重復字符,終止當前子串檢查}charExists[c] = true; //存儲在對應ASCII編號的位置,ASCII編號  s[j]=a; a=97; charExists[a]=charExists[97]= truecount++;}//保存最大值if (count > Maxlong){Maxlong = count;}                }Console.WriteLine($"不含有重復字符的最長字符串的長度為: {Maxlong}");

3、給定兩個字符串 s 和 t ,它們只包含小寫字母。字符串 t 由字符串 s 隨機重排,然后在隨機位置添加一個字母。請找出在 t 中被添加的字母。

示例 1:
輸入:s = "abcd", t = "abcde"
輸出:"e"
解釋:'e' 是那個被添加的字母。

示例 2:
輸入:s = "", t = "y"
輸出:"y"

Console.Write("請輸入一個只包含小寫字母字符串:");
string s = Console.ReadLine();Console.Write("請再輸入一個與上面輸入相同但在隨機位置添加一個字母的字符串:");
string t = Console.ReadLine();int sign = 1;
for (int i = 0; i < s.Length; i++)
{if (s[i] == t[i]){sign++;continue;}else {Console.WriteLine($"'{t[i]}'是那個被添加的字母");break;}}
if (sign == t.Length)
{ Console.WriteLine($"'{t[s.Length]}'是那個被添加的字母"); }

4、定義一個函數,用來取得一個數字的所有因子,把所有因子返回

static void Main(string[] args)
{//定義一個函數,用來取得一個數字的所有因子,把所有因子返回foreach (var t in Factor(6)){ Console .Write(t+" ");}
}static int[] Factor(int n)
{int count = 0;for (int i = 1; i <= n; i++){               if (n%i==0){count++;}                }int[] ints = new int[count];int m = 0;for (int i = 1; i <= n; i++){if (n % i == 0){ints[m] =i;m++;}}return ints;
}

5、輸入一個字符串,判斷其是否是合法標識符

//輸入一個字符串,判斷其是否是合法標識符
Console.WriteLine("請輸入一個字符串:");
string str = Console.ReadLine();
Char[] s = str.ToCharArray(); //把字符串轉換為字符數組
bool b=true;
for (int i = 0; i < s.Length; i++)
{if (s[0] >= '0' && s[0] <= '9'){b = false;Console.WriteLine("不合法");break;}if (b){if (s[i] >= '0' && s[i] <= '9' || s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z' || s[i] == '_'){b = true;}else{b = false;}}
}if (b){Console.WriteLine("合法");}else{Console.WriteLine("不合法");}

6、輸入兩個整數 輸出兩個整數的最大公約數

static void Main(string[] args)
{//輸入兩個整數 輸出兩個整數的最大公約數Console.WriteLine("輸入兩個整數:");int n=int.Parse (Console .ReadLine());int m=int.Parse (Console .ReadLine());int gcd = CalculateGCD(n, m);Console.WriteLine($"最大公約數是: {gcd}");
}static int CalculateGCD(int a, int b)
{// 處理負數輸入(轉換為正數計算)a = Math.Abs(a);b = Math.Abs(b);while (b != 0){int temp = b;b = a % b;a = temp;}return a;
}   

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

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

相關文章

Python趣味算法:百錢百雞問題——雙重循環優化與算法效率分析

如何用Python解決中國古代數學難題?本文從暴力枚舉到高效優化,帶你領略算法之美,效率提升100倍! 看在每天堅持分享有趣知識的份上,點個關注吧(づ ̄ 3 ̄)づ 關注是我更新的動力 ̄︶ ̄? ̄︶ ̄?) 作者會分享更多涉及到各種編程語言的有趣知識!(^?^●)?? 目錄 …

JAVA_TWO-初識Java2

1.IDEA管理Java程序的結構2.idea編譯后的class文件在哪在工程out文件夾下。3.idea一些快捷鍵4.導入模塊File→New→Module from Existing Sources → 添加后綴.iml文件5.注釋單行注釋 //多行注釋 /* 注釋內容1注釋內容2 */文檔注釋 /** 注釋內容 */ &#xff08;文檔注釋內容可…

二、Dify 版本升級教程(LInux-openeuler)

首先&#xff0c;你需要先按照好dify&#xff0c;然后才能升級&#xff0c;本文教程是基與Docker Compose 如果你還沒有安裝&#xff0c;可以看看這個教程。 一、Dify 私有部署、本地安裝教程&#xff08;LInux-openeuler&#xff09;_dify1.5版本部署-CSDN博客 安裝完成后&a…

Java 大視界 -- Java 大數據在智能安防門禁系統中的多生物特征融合識別與權限管理(280)

??親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也期待你毫無保留地分享獨特見解,愿我們于此攜手成長,共赴新程!?? 本博…

【Tools】Ubuntu24.04安裝詳細教程

00. 目錄 文章目錄00. 目錄01. Ubuntu 24.04簡介02. Ubuntu 24.04下載03. Ubuntu 24.04虛擬機創建04. Ubuntu 24.04安裝步驟05. Ubuntu 24.04常用軟件06. 附錄01. Ubuntu 24.04簡介 Ubuntu 24.04 LTS&#xff08;代號“Noble Numbat”&#xff09;是Canonical于2024年4月25日發…

linux基礎入門Ubuntu 22.04 系統中添加、刪除和授予用戶 sudo權限

在 Ubuntu 中&#xff0c;sudo 允許授權用戶以 root 級別權限執行任務&#xff0c;即使他們不知道 root 用戶密碼。這對于執行管理任務非常重要&#xff0c;因為它可以避免直接使用 root 用戶&#xff0c;從而減少系統被誤操作的風險&#xff0c;同時在企業生產中由于ubuntu系統…

npm : 無法加載文件 C:\Program Files\nodejs\npm.ps1

問題描述使用git bash, cmd運行npm都可以&#xff0c;但是用Power Shell運行npm&#xff0c;卻報錯&#xff1a;npm : 無法加載文件 C:\Program Files\nodejs\npm.ps1&#xff0c;因為在此系統上禁止運行腳本。有關詳細信息&#xff0c;請參閱 https:/go.microsoft.com/fwlink/…

【面經】實習經歷

文章目錄一、求職準備篇1.1提升技術水平1.1.1學什么&#xff1f;1.1.2怎么學&#xff1f;1.2做項目1.3做簡歷1.4找實習二、求職難度篇找實習難不難&#xff1f;筆試面試三、實習內容篇新人入職 -- 學會看代碼參與小需求實習日常實習到底難不難&#xff1f;四、總結 一、求職準備…

The Missing Semester of Your CS Education 學習筆記以及一些拓展知識(二)

文章目錄The Missing Semester of Your CS Education 學習筆記以及一些拓展知識Bash腳本筆記部分一些在Bash腳本中的常用命令補充常用標準輸入輸出命令常用環境變量(普通變量)控制命令常用系統時間信息獲取命令常用函數執行狀態控制命令常用腳本執行控制命令Bash腳本的創建和運…

教育科技內容平臺的用戶定位與產品方案:從需求到解決方案的精準匹配

教育科技內容平臺的用戶定位與產品方案&#xff1a;從需求到解決方案的精準匹配打造一款成功的內容平臺&#xff0c;核心在于 “懂用戶”—— 明確不同用戶的需求場景、使用目的&#xff0c;才能設計出真正有價值的產品功能。本文以面向互聯網從業者的教育科技內容平臺為例&…

網絡之路16:認識虛擬化環境H3C CAS

正文共&#xff1a;3888 字 54 圖&#xff0c;預估閱讀時間&#xff1a;6 分鐘目錄網絡之路第一章&#xff1a;Windows系統中的網絡0、序言1、Windows系統中的網絡 1.1、桌面中的網卡 1.2、命令行中的網卡 1.3、路由表 1.4、家用路由器網絡之路第二章&#xff1a;認識企業設備2…

Sklearn 機器學習 IRIS數據 理解分類報告

??親愛的技術愛好者們,熱烈歡迎來到 Kant2048 的博客!我是 Thomas Kant,很開心能在CSDN上與你們相遇~?? 本博客的精華專欄: 【自動化測試】 【測試經驗】 【人工智能】 【Python】 Sklearn 機器學習 IRIS 數據分類報告解讀 鳶尾花(Iris)數據集是機器學習入門中最經典…

ni-app 對鴻蒙的支持現狀

自 HBuilderX 4.27 版本開始&#xff0c;uni-app 支持 Harmony Next 平臺的 App 開發&#xff0c;目前僅支持 Vue3 項目編譯到鴻蒙平臺。uni-app x 從 4.61 版本起支持純血鴻蒙&#xff0c;即 Harmony NEXT&#xff0c;其組件、API、CSS 與 Android 和 iOS 基本拉齊。 開發與配…

docker 容器學習

筆者來介紹一下docker 容器的學習1、docker容器背景 docker 里面有兩個概念&#xff0c;鏡像可看成一個類&#xff0c;而容器則是鏡像的一個實例&#xff0c;從這個來看&#xff0c;那么一般鏡像是一個&#xff0c;而容器可以有很多個。 鏡像&#xff1a;帶一堆工具鏈的操作系統…

MongoDB社區版安裝(windows)

下載地址 官網&#xff1a; MongoDB: The World’s Leading Modern Database | MongoDB 8.0.11版本下載地址&#xff1a; https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-8.0.11.zip 安裝 解壓安裝包 解壓結果目錄如下&#xff1a; bin目錄介紹 文件名稱作用…

Git上傳與下載GitHub倉庫

新建GitHub倉庫 … 本地上傳GitHub 第一步&#xff1a;git add .第二步&#xff1a;git commit -m your content第三步&#xff1a;git push xxx main或者git push xxx master 對于第三步&#xff0c;首先看自己建立的倉庫是master分支&#xff0c;還是main分支。以前都是默認m…

OpenCV 官翻 3 - 特征檢測 Feature Detection

文章目錄理解特征目標解釋Harris角點檢測目標理論OpenCV 中的 Harris 角點檢測器亞像素級精度角點檢測練習Shi-Tomasi角點檢測器與優質跟蹤特征目標理論基礎代碼SIFT&#xff08;尺度不變特征變換&#xff09;簡介目標理論1、尺度空間極值檢測2、關鍵點定位3、方向分配4、關鍵點…

2??處理文本數據

本章介紹 為大語言模型的訓練準備文本數據集將文本分割成詞和子詞token字節對編碼(Byte Pair Encoding,BPE):一種更為高級的文本分詞技術使用滑動窗口方法采樣訓練示例將tokens轉換為向量&#xff0c;輸入到大語言模型中 文章目錄本章介紹2.1 理解詞嵌入2.2 文本分詞2.3 將tok…

TestCase Studio - 自動生成測試用例詳解

你是否也曾為編寫測試用例而頭疼&#xff1f;點擊按鈕、填寫表單、截圖說明——這些重復操作讓人心生倦意。 而現在&#xff0c;只需動動鼠標&#xff0c;TestCase?Studio 就能自動錄制你的 Web 操作&#xff0c;生成清晰的“Plain English”步驟、截圖和定位器&#xff0c;徹…

Rust+ChatBoxAI:實戰

Chatbox AI Chatbox AI 是一款基于人工智能技術的智能助手工具,旨在通過自然語言交互幫助用戶完成多種任務。以下是其核心功能與特點: 功能概述 多模型支持:可連接 OpenAI、Claude、Gemini 等主流大語言模型,用戶能自由切換不同 AI 服務。 本地運行:支持離線使用,數據隱…