力扣2953.統計完全子字符串

力扣2953.統計完全子字符串

  • 分組循環求出每個組 分別算個數

    • 對于每個組 枚舉一遍其中有多少種字母
    • 用cnt數組記錄每個字母出現次數 check的時候也是暴力枚舉cnt中每個字母出現次數
  • **分組循環:**從i(新一組的起點)開始,當滿足條件時++,最后退出循環時一定是到了下一個組的起點然后繼續循環

  • **Lambda表達式:**auto check = [&](){…}可以調用/修改外部作用域的變量

  • 本題用check就是調用外部的cnt數組

  • string_view:就是用新的變量名表示原字符串

  • 但是不會調用拷貝 是“共享”的

  •   
    

    class Solution {
    int f(string_view s,int k)
    {
    int res=0;
    for(int m=1;m<=26 && k * m <= s.size();m++)
    {
    int cnt[26]{};
    auto check = &{
    for(int i=0;i<26;i++)
    if(cnt[i] && cnt[i] != k) return ;
    res++;
    };
    for(int right=0;right<s.size();right++)
    {
    cnt[s[right] - ‘a’] ++;
    int left = right + 1 - k*m;
    if(left >= 0)
    {
    check();
    cnt[s[left] - ‘a’] --;
    }
    }
    }
    return res;
    }
    public:
    int countCompleteSubstrings(string word, int k) {
    int n = word.size();
    int ans = 0;
    string_view s(word);
    for(int i=0;i<n;)
    {
    int st = i;
    for(i++;i<n && abs((int)word[i] - (int)word[i-1]) <= 2;i++);
    ans += f(s.substr(st,i-st),k);
    }
    return ans;
    }
    };

?

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

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

相關文章

CentOS 7基礎操作03_Linux命令的分類

1、Linux命令的分類 Linux命令的執行必須依賴于 Shell命令解釋器。Shell實際上是在Linux操作系統中運行的一種特殊程序,它位于操作系統內核與用戶之間&#xff0c;負責接收用戶輸入的命令并進行解釋&#xff0e;將需要執行的操作傳遞給系統內核執行&#xff0c;Shell在用戶和內…

搜維爾科技: 使用 Xsens 和 HTC Vive進行電影制作案例

搜維爾科技&#xff1a; 使用 Xsens 和 HTC Vive進行電影制作案例 搜維爾科技&#xff1a; 使用 Xsens 和 HTC Vive進行電影制作案例

全域外賣平臺是什么?有哪些系統可以推薦?

隨著本地生活下半場的開啟&#xff0c;以團購外賣為代表的一系列相關業務也邁入了全域時代。在此背景下&#xff0c;全域外賣賽道正式興起&#xff0c;全域外賣平臺也隨之備受矚目。 作為創業的一大新風口&#xff0c;全域外賣囊括了公域和私域內所有的外賣業務&#xff0c;主…

基礎篇03——SQL約束

概述 約束示例 完成以下案例&#xff1a; create table user (id int primary key auto_increment comment 主鍵,name varchar(10) not null unique comment 姓名,age tinyint unsigned check ( age > 0 and age < 120 ) comment 年齡,status char(1) default 1 commen…

嵌入式C語言--Pragma Section與Map文件

嵌入式C語言–Pragma Section與Map文件 嵌入式C語言--Pragma Section與Map文件 嵌入式C語言--Pragma Section與Map文件一. Pragma修飾符二. Map文件1&#xff09;什么是map文件2&#xff09;map文件的構成3&#xff09;常用的段映射地址4&#xff09;map文件生成 三. Section修…

HAL_UART_IRQHandler(UART_HandleTypeDef *huart)分析

//接收沒錯誤&#xff1a;執行UART_Receive_IT(huart) //接收有錯誤&#xff1a;執行UART_Receive_IT(huart)、HAL_UART_ErrorCallback(huart) void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) {uint32_t isrflags READ_REG(huart->Instance->SR);uint32_t cr1…

java項目部署腳本

一、java項目部署腳本示例 在Java項目中&#xff0c;部署腳本通常依賴于項目的構建工具&#xff08;如Maven或Gradle&#xff09;以及部署環境&#xff08;如Docker、Tomcat、Kubernetes等&#xff09;。以下是一個基于Maven和Shell腳本的Java項目部署示例&#xff0c;假設我們…

8*8LED點陣點亮一個點

#include<reg51.h> typedef unsigned int u16; //對系統默認數據進行重定義 typedef unsigned char u8; //定義74HC595控制管腳 sbit SRCLKP3^6; //移位寄存器時鐘輸入 sbit RCLKP3^5; //存儲寄存器時鐘輸入 sbit SERP3^4; //串…

SpaceX: 太空火箭自主精準著陸

本文是根據Lars Blackmore在16年的一篇公開論文翻譯而來&#xff0c;雖然有些早而且是科普文章&#xff0c;但是可以初見一些SpaceX火箭著陸的細節&#xff0c;后面我會對spaceX landing control 技術主管MIT博士期間研究火箭控制算法的論文進行講解&#xff0c;敬請期待。 Lar…

Linux系統常用命令

Linux 系統常用命令 1、文件操作2、目錄操作 1、文件操作 創建文件&#xff1a; touch 文件名 創建文件并編輯&#xff1a;vim 文件名 查看文件全部內容&#xff1a;cat 文件名 帶行號查看文件內容&#xff1a; cat -n file 查看文件內容并監視內容更新&#xff1a; 以翻頁形…

【電機】步進電機相關指標

一 靜態指標&#xff1a; 相數&#xff1a;線圈的組數&#xff0c;兩相步進電機步距角一般為 1.8&#xff0c;三相的步進電機步距角為 1.2&#xff0c;相數越多步距角越小。 步距角&#xff1a;一個脈沖信號所對應的電機轉動的角度&#xff0c;這個步距角他不一定是電機實際工…

OpenEuler華為歐拉系統安裝—從零開始,小白也能學會

介紹 openEuler&#xff08;歐拉&#xff09;是一款開源操作系統。 當前openEuler內核源于Linux&#xff0c;支持鯤鵬及其它多種處理器&#xff0c; 能夠充分釋放計算芯片的潛能&#xff0c;是由全球開源貢獻者構建的高效、 穩定、安全的開源操作系統&#xff0c;適用于數據庫…

JVM運行數據區-Java堆

Java堆 堆區&#xff08;Heap區&#xff09;是JVM運行時數據區占用內存最大的一塊區域&#xff0c;每一個JVM進程只存在一個堆區&#xff0c;它在JVM啟動時被創建&#xff0c;JVM規范中規定堆區可以是物理上不連續的內存&#xff0c;但必須是邏輯上連續的內存。 1、堆區是線程…

Java面試題-基礎

Java面試題-基礎 1、Java語言有哪些特點&#xff1f;2、面向對象和面向過程的區別是什么&#xff1f;3、說說標識符的命名規則&#xff1f;4、說說Java八種基本數據類型的大小以及他們的封裝類&#xff1f;5、instanceof關鍵字有什么作用&#xff1f;6、自動裝箱與自動拆箱是什…

「網絡編程」基于 UDP 協議實現回顯服務器

&#x1f387;個人主頁&#xff1a;Ice_Sugar_7 &#x1f387;所屬專欄&#xff1a;計網 &#x1f387;歡迎點贊收藏加關注哦&#xff01; 實現回顯服務器 &#x1f349;socket api&#x1f349;回顯服務器&#x1f34c;實現&#x1f95d;服務器&#x1f95d;客戶端 &#x1f3…

純血鴻蒙實戰開發—如何添加頂部tab頁面

1.Tabs組件 Tabs組件的頁面組成包含兩個部分&#xff0c;分別是TabContent和TabBar。TabContent是內容頁&#xff0c;TabBar是導航頁簽欄. 根據不同的導航類型&#xff0c;布局會有區別&#xff0c;可以分為底部導航、頂部導航、側邊導航&#xff0c;其導航欄分別位于底部、頂…

react基礎學習 JSX

JSX的測試網站 Babel Babel 可以測試代碼的效果 JSX實現map列表 注意 key不一樣&#xff08;使用遍歷的時候&#xff09; 簡單條件渲染 復雜條件渲染 綁定事件 function App() {const colorse (e)>{console.log("測試點擊",e);}const colorse1 (name)>{…

代碼隨想錄訓練營第六十天 | 84.柱狀圖中最大的矩形

84.柱狀圖中最大的矩形 題目鏈接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 文檔講解&#xff1a;代碼隨想錄 視頻講解&#xff1a;單調棧&#xff0c;又一次經典來襲&#xff01; LeetCode&#xff1a;84.柱狀圖中最大的矩形_嗶哩嗶哩_bilibili 狀態&#xff1a;未…

地理信息科學中的大數據挑戰

在信息化爆炸的時代&#xff0c;地理信息科學&#xff08;GIScience&#xff09;正經歷著前所未有的變革&#xff0c;其中&#xff0c;地理空間大數據的涌現為科學研究與應用帶來了前所未有的機遇與挑戰。作為地理信息與遙感領域的探索者&#xff0c;本文旨在深入剖析地理空間大…

揭秘HubSpot集客營銷:如何吸引并轉化全球潛在客戶

隨著全球數字化浪潮的推進&#xff0c;企業出海已經成為許多公司擴大市場、增加品牌曝光度的重要戰略。HubSpot集客營銷作為一種以客戶為中心、數據驅動的營銷策略&#xff0c;為企業在海外市場的成功提供了強有力的支持。作為HubSpot亞太地區的合作伙伴&#xff0c;NetFarmer將…