[LeedCode]921. 使括號有效的最少添加

題目描述:

給定一個由 '('')' 括號組成的字符串 S,我們需要添加最少的括號( '(' 或是 ')',可以在任何位置),以使得到的括號字符串有效。從形式上講,只有滿足下面幾點之一,括號字符串才是有效的:它是一個空字符串,或者
它可以被寫成 AB (A 與 B 連接), 其中 A 和 B 都是有效字符串,或者
它可以被寫作 (A),其中 A 是有效字符串。
給定一個括號字符串,返回為使結果字符串有效而必須添加的最少括號數。示例 1:輸入:"())"
輸出:1
示例 2:輸入:"((("
輸出:3
示例 3:輸入:"()"
輸出:0
示例 4:輸入:"()))(("
輸出:4

?

解法:

 1 int minAddToMakeValid(char* S) {
 2     int i,l = 0,res = 0,len=strlen(S);
 3     for (i = 0 ; i < len ; i ++)
 4     {
 5         if (S[i]=='(')  //入棧
 6         {
 7             l ++;
 8         }
 9         else            //出棧
10         {
11             if (l == 0) 
12             {
13                 res ++; //棧為空,丟棄數+1
14             }
15             else
16                 l --;   //棧不為空,出棧
17         }
18     }
19     return res+l;   //棧中數量+丟棄棧
20 }

?

轉載于:https://www.cnblogs.com/mind000761/p/10137941.html

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

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

相關文章

abstract的一些用法

&#xfeff;&#xfeff;abstract&#xff08;抽象&#xff09;修飾符&#xff0c;可以修飾類和方法 1&#xff0c;abstract修飾類&#xff0c;會使這個類成為一個抽象類&#xff0c;這個類將不能生成對象實例&#xff0c;但可以做為對象變量聲明的類型&#xff0c;也就是編譯…

github 如何設置項目的語言顯示

github 會根據一個項目文件最多的那個種類的文件顯示為對應的語言項目 如果想讓整個項目顯示為 HTML 項目, 需要進行以下步驟的設置 1.在根目錄下創建一個文件 .gitattributescreate .gitattributes2.在 .gitattributes 內編輯以下內容&#xff1a; *.js linguist-languageHTML…

C++提高進階,你知道多少?

C從零開始 ——何謂編程 引言 曾經有些人問我問題&#xff0c;問得都是一些很基礎的問題&#xff0c;但這些人卻已經能使用VC編一個對話框界面來進行必要的操作或者是文檔/視界面來實時接收端口數據并動態顯示曲線&#xff08;還使用了多線程技術&#xff09;&#xff0c;卻連…

POJ 3352 Road Construction ; POJ 3177 Redundant Paths (雙聯通)

這兩題好像是一樣的&#xff0c;就是3177要去掉重邊。 但是為什么要去重邊呢&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;我認為如果有重邊的話&#xff0c;應該也要考慮在內才是。 這兩題我用了求割邊&#xff0c;在去掉割邊&#xff0c;用DFS縮…

postman界面變成了左右結構怎么辦

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 在左上角 file -- settongs中設置一下&#xff1a;

面向對象階段個人總結

&#xfeff;&#xfeff;面向對象階段的個人總結 我個人對面相對向的總結。我想到了我認為比較好的方法&#xff0c;就是對照每次學習一個大模塊的前的章節目錄進行回顧總結&#xff0c;比如我們這階段學習是面向對象的課程&#xff0c;下面我就來按照章節 目錄進行一個系統…

1.springboot:入門程序

一、Spring Boot 簡介 官網英文&#xff1a; Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get st…

2018.12.18運算符,分支結構(循環),異常處理,函數

1復習 <!DOCTYPE html><html><head> <meta charset"UTF-8"> <title>復習預習</title> <style> .b { /* 作用域: {}產生的, {作用域開始的標識, }作用域結束的標識 */ /*出現在作用域中的所有內…

javax.ws.rs.NotSupportedException: Cannot consume content type

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff1a;javax.ws.rs.NotSupportedException: Cannot consume content type 解決&#xff1a;使用postman發送 post 請求訪…

java異常預習

java中的異常捕獲結構有try&#xff0c;catch&#xff0c;finally三部分組成。其中&#xff0c;try語句塊存放的是可能發生異常的java語句&#xff1b;catch程序塊在try語句塊之后&#xff0c;用來激發被捕獲的異常&#xff1b;finally語句塊是異常處理結構的最后執行部分&…

【親測有效】Kali Linux無法安裝網易云音樂的解決方案

問題描述 由于 Kali Linux 的內核是基于 Debian 的&#xff0c;我們在安裝網易云音樂的時候更偏向于選擇安裝網易云音樂 v1.1.0 deepin15&#xff08;64位&#xff09; 的包&#xff0c;可是我發現在安裝過程中&#xff0c;無法定位 libqcef1 軟件包&#xff0c;對于很多鐘愛網…

C/C++函數名修飾約定

函數名字修飾&#xff08;Decorated Name&#xff09;方式 函數的名字修飾&#xff08;Decorated Name&#xff09;就是編譯器在編譯期間創建的一個字符串&#xff0c;用來指明函數的定義或原型。 正在裝載數據…… LINK程序或其他工具有時需要指定函數的名字修飾來定位函數的…

設計模式中類之間的關系

設計模式 個人感覺設計模式是程序員的核心技能 &#xff0c;然后看了一些設計模式的書&#xff0c;都是講設計模式的一些理論&#xff0c;放在實現上都有點模糊&#xff0c;后來圖書館看到一本《設計模式的藝術》&#xff0c;感覺很不錯&#xff0c;有一些比較具體且容易理解的…

如何查看jar包的版本號?

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 jar包根目錄里的META-INF目錄下的MANIFEST.MF文件里一般有會記錄版本信息&#xff0c;可以到這個文件里查看 打開Java的JAR文件我們經…

JAVA中的toString()方法的用法

toString是Object類的方法&#xff0c;所有類都從Object類繼承。如果你定義的類沒有覆蓋toString方法&#xff0c;則對象在調用toString方法時用的是Object類toString方法&#xff0c;返回的是“類名hashcode". System.out.println(obj)在參數是一個對象時&#xff0c;會首…

kotlin使用spring data jpa(一)

2019獨角獸企業重金招聘Python工程師標準>>> 簡單查詢 spring data jpa是spring全家桶成員之一&#xff0c;用于操作各種數據庫&#xff0c;下面寫一個查詢訂單的簡單示例 引入sqlserver驅動包及jpa所需包implementation(org.springframework.boot:spring-boot-star…

VC的函數修飾名

VC 中的修飾名(Decoration name) “C”或者“C”函數在內部&#xff08;編譯和鏈接&#xff09;通過修飾名識別。修飾名是編譯器在編譯函數定義或者原型時生成的字 符串。有些情況下使用函數的修飾名是必要的&#xff0c;如在模塊定義文件里頭指定輸出“C”重載函數、構造函數、…

You can‘t specify target table ‘XXX‘ for update in FROM clause

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff0c;意思大致是&#xff1a;在一條 sql 語句中不能先查出來部分內容&#xff0c;再同時又對當前表作修改。 解決方法&…

牛客網——最簡真分數

題目描述 給出n個正整數&#xff0c;任取兩個數分別作為分子和分母組成最簡真分數&#xff0c;編程求共有幾個這樣的組合。輸入描述: 每組包含n&#xff08;n<600&#xff09;和n個不同的整數&#xff0c;整數大于1且小于等于1000。 輸出描述: 每行輸出最簡真分數組合的個數…

csvn(apache+svn)管理工具搭建

系統環境&#xff1a;centos7.4一、服務端下載這個文件并解壓&#xff08;如果打不開&#xff0c;請下方留言&#xff09;https://pan.baidu.com/s/1miwdBc81、安裝jdk,上傳到服務器上&#xff0c;解壓[rootslave2 opt]# tar -zxvf jdk-8u91-linux-x64.gz[rootslave2 opt]# vim…