數據結構學習(二)字符串

字符串

1. 概念

字符串就是特殊的字符數組,字符數組末尾的元素為 ‘\0’。和數組一樣可以使用arr[i]或*(arr+i)來訪問元素。

    無論是用數組保存字符串(如:char arr[] = "Hello,World";),還是用指針保存字符串(如:char *brr = "Hello,World";),我們都可以使用字符串函數strlen(),來計算字符串長度。因為這里數組名和指針名保存著字符串在內存中的首地址,并且這里是字符串(存儲時末尾有一個隱藏的'\0'),以 '\0' 結尾。這樣,對于字符數組:使用sizeof(arr)/sizeof(arr[0]),求出來的長度比strlen求出的長度大1,因為sizeof計算數組大小時包含了'\0',strlen計算時忽略了'\0';對于字符串指針:sizeof(brr)/sizeof(brr[0])計算結果為4,因為brr是指針名,sizeof(brr)計算的是指針的大小為4,再除以元素大小1,所以結果為4。

————————————————
版權聲明:本文為CSDN博主「加油JIAX」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_50803498/article/details/126528554

2. 解題技巧(我的總結)

1> 字符串分割

題目說明實現
640. 求解方程通過分割字符串統計x的系數和方程的常數項我的提交

2> 字符串匹配
KMP算法:next數組

i, l := 1, 0for i < len(s) {if s[i] == s[l] {l++next[i] = li++} else {if l == 0 {next[i] = 0i++} else {l = next[l-1]}}}
題目說明實現
686. 重復疊加字符串匹配KMP算法,如果直到i>ab長度之和都未匹配成功,則一定無法匹配我的提交
210. 課程表 IIKMP算法我的提交

3> 字符串問題分類討論

題目說明實現
809. 情感豐富的文字使用雙指針匹配,分類討論所有情況我的提交
816. 模糊坐標分左右,分長度,再分首尾字母是否為0我的提交

3> 字符串問題分類討論

題目說明實現
955. 刪列造序 II從左到右按列討論,抽象成單個字符串的情形,使用所有字符串做限制我的提交

3. 更多練習

4. 參考

  1. LeetCode(力扣)初級算法 字符串篇
  2. 總庫:tryHard

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

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

相關文章

漢諾塔問題(c++題解)

題目描述 1、一次只許移動一個盤 2、任何時候、任何柱子不允許把大盤放在小盤上面。 3、可使用任一一根立柱暫存圓盤。 問&#xff1a;如何使用最少步數實現n個盤子的移動&#xff1f;打印出具體移動方案。 輸入格式 一行一個數n, 1< n < 18 輸出格式 輸出若干行…

關于HTML5表單驗證的方法教程

簡介 HTML5表單驗證是一種在客戶端對用戶輸入進行驗證的方法&#xff0c;可以有效地減少對于服務器端驗證的依賴。通過使用HTML5表單驗證&#xff0c;可以為用戶提供實時的錯誤提示和更好的用戶體驗。本教程將介紹如何在HTML5中使用各種驗證屬性和技術來實現表單驗證。 基本表…

flynn發布服務小結

背景 flynn是一個基于容器的paas平臺&#xff0c;可以快速的發布運行新的應用&#xff0c;用戶只需要提交代碼到git上&#xff0c;flynn就會基于提交的代碼進行發布和部署&#xff0c;本文就簡單看下flynn發布部署的流程 flynn發布服務 1.首先flynn會基于用戶的web代碼構建一…

Nature 研究亮點(Volume 626 Issue 8001, 29 February 2024)

文章目錄 激光雕刻肥皂膜卵細胞的回收系統巴斯克語的起源產后抑郁癥的治療 激光雕刻肥皂膜 研究者&#xff1a;Haitao Xu 和 Yu Zhao&#xff0c;清華大學&#xff0c;北京。 發現&#xff1a;在特定條件下&#xff0c;可以使用激光在肥皂膜上進行雕刻。肥皂膜由洗滌劑分子&am…

AJAX 學習筆記(Day1)

「寫在前面」 本文為黑馬程序員 AJAX 教程的學習筆記。本著自己學習、分享他人的態度&#xff0c;分享學習筆記&#xff0c;希望能對大家有所幫助。 目錄 0 課程介紹 1 AJAX 入門 1.1 AJAX 概念和 axios 使用 1.2 認識 URL 1.3 URL 查詢參數 1.4 常用請求方法和數據提交 1.5 HT…

H264的打包,nal,es,pes,pts,dts,ps,ts

編碼層次 視頻編碼層&#xff1a;預測、變換、量化、熵編碼等操作slice層&#xff1a;將視頻幀分割成若干個編碼單元&#xff0c;包含一定數量的宏塊&#xff0c;提高編解碼的并行性和容錯性。NAL層&#xff1a;提升對網絡傳輸和數據存儲的親和性 視頻編碼層 基準-Baseline …

云計算與大數據課程筆記(一)云計算背景與介紹

如何實現一個簡易搜索引擎&#xff1f; 實現一個簡易的搜索引擎可以分為幾個基本步驟&#xff1a;數據收集&#xff08;爬蟲&#xff09;、數據處理&#xff08;索引&#xff09;、查詢處理和結果呈現。下面是一個概括的實現流程&#xff1a; 1. 數據收集&#xff08;爬蟲&am…

Java實戰:Spring Boot項目中如何利用Redis實現用戶IP接口限流

引言 在高并發的Web應用中&#xff0c;接口限流是一項至關重要的技術手段&#xff0c;它有助于保護系統資源&#xff0c;防止因瞬間流量高峰導致服務崩潰。本文將深入探討如何在Spring Boot項目中借助Redis實現用戶IP級別的接口限流策略&#xff0c;通過具體的代碼示例&#x…

大數據概述

學習大數據有什么用&#xff1f; 2010年&#xff1a;大數據技術體系開始在國內火熱 2015年&#xff1a;國務院印發《促進大數據發展行動綱要》 2016年&#xff1a;發改委發布關于組織實施促進大數據發展重大工程的通知 2017年&#xff1a;工信部印發大數據產業規劃(2016-20…

Linux運維_Bash腳本_構建安裝Meson-1.0.1和Ninja-1.11.1

Linux運維_Bash腳本_構建安裝Meson-1.0.1和Ninja-1.11.1 Bash (Bourne Again Shell) 是一個解釋器&#xff0c;負責處理 Unix 系統命令行上的命令。它是由 Brian Fox 編寫的免費軟件&#xff0c;并于 1989 年發布的免費軟件&#xff0c;作為 Sh (Bourne Shell) 的替代品。 您…

Nginx高級技巧:實現負載均衡和反向代理

文章目錄 Nginx概述Nginx作用正向代理反向代理負載均衡動靜分離 Nginx的安裝 -->Docker3.1 安裝Nginx3.2 Nginx的配置文件3.3 修改docker-compose文件 Nginx源碼安裝nginx常用命令nginx配置文件配置文件位置配置文件結構詳情 Nginx的反向代理【重點】基于Nginx實現反向代理4…

C語言冒泡排序(高級版)

目錄: 冒泡排序的原理 主函數 "冒泡排序函數" 比較函數 交換函數 最終輸出 完整代碼 冒泡排序的原理: 冒泡排序的原理是&#xff1a;從左到右&#xff0c;相鄰元素進行比較。每次比較一輪&#xff0c;就會找到序列中最大的一個或最小的一個。這個數就會從序列的最右…

Windows上構建一個和Linux類似的Terminal

preview 目的是在Windows上構建一個和Linux類似的Terminal&#xff0c;讓Windows煉丹和Linux一樣舒適&#xff0c;同是讓Terminal取代Xshell完成遠程鏈接。 預覽如下圖 在Linux下我們使用zsh和oh-my-zsh結合&#xff0c;Windows下我們使用powershell7和oh-my-posh結合。 前提…

Vue 前端開發 v-for和v-if兩個指令不能混合使用

原由&#xff1a; 在進行項目開發的時候因為在一個標簽上同時使用了v-for和v-if兩個指令導致的報錯。 提示錯誤&#xff1a;The undefined variable inside v-for directive should be replaced with a computed property that returns filtered array instead. You should no…

nginx------------緩存功能 ip透傳 負載均衡 (六)

一、http 協議反向代理 &#xff08;一&#xff09;反向代理示例:緩存功能 緩存功能可以加速訪問&#xff0c;如果沒有緩存關閉后端服務器后&#xff0c;圖片將無法訪問&#xff0c;緩存功能默認關閉&#xff0c;需要開啟。 ? proxy_cache zone_name | off; 默認off #指明調…

基于Springboot純凈水配送和商城系統設計與實現 開題報告參考

博主介紹&#xff1a;黃菊華老師《Vue.js入門與商城開發實戰》《微信小程序商城開發》圖書作者&#xff0c;CSDN博客專家&#xff0c;在線教育專家&#xff0c;CSDN鉆石講師&#xff1b;專注大學生畢業設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程&#xff…

2023 版王道單科書勘誤匯總(3.30)

注:因2023版對題目編號做了優化“歷年真題全部放最后、且按年份排序”&#xff0c;以方便大家根據需要保留某些年份的真題作為最后的模擬。所以造成了一些題目和解析的編號錯誤。 數據結構: P11 P20 P56 P278 P326 “2.”中第 3 行”題 5改成”9”&#xff0c;第6行”題 8”改成…

css3詳解

一.什么是CSS3 CSS3是Cascading Style Sheets的第三個版本&#xff0c;是一種用于描述文檔樣式的語言&#xff08;CSS3是CSS&#xff08;層疊樣式表&#xff09;技術的升級版本&#xff09;。它是前端開發中用于控制網頁布局和樣式的技術之一。CSS3引入了許多新的特性和功能&a…

Linux常用操作命令大全

Linux常用操作命令大全 Linux,作為一款開源的操作系統,深受全世界開發者和系統管理員的喜愛。在Linux環境下,用戶通過命令行界面可以執行各種操作,從而實現對系統的全面控制。本文將詳細介紹Linux中常用的操作命令,幫助讀者更好地理解和運用這些命令。 一、文件操作命令…

hexo圖片顯示不出且圖片路徑錯誤/.com//

參考博客&#xff1a; hexo 圖片顯示問題及使用typora設置圖片路徑-CSDN博客 javascript - hexo 圖片路徑錯誤/.com// - SegmentFault 思否 先說如何讓hexo圖片成功地顯示出來 Step1: 修改config設置 將 _config.yml 設置文件中的 post_asset_folder 修改為 true 這一步的作…