題目來自leetcode856原題
可惜當時沒有想出來,想到用棧的方法,想用類似於判斷有效括號的方法做
結果行不通,廢話不多說,下面直接把題目擺上來了:
給定乙個平衡括號字串 s,按下述規則計算該字串的分數:
() 得 1 分。 ab 得 a + b 分,其中 a 和 b 是平衡括號字串。 (a) 得 2 * a 分,其中 a 是平衡括號字串。一般思維定式,如何按照計算器的方法,實現乘法和加法,然而這裡其實不用考慮其實感覺用到了類似於乘法分配律的感覺,遍歷字串,遇到「(」入棧,遇到右括號「)」判斷前一位是否也是「)」右括號,如果是的那麼出棧乙個左括號繼續遍歷,如果不是,那麼就使sum=sum+2^(n-1),其中n是當前棧的深度,然後再出棧乙個左括號。示例 1:
輸入: 「()」 輸出: 1
示例 2:
輸入: 「(())」 輸出: 2
示例 3:
輸入: 「()()」 輸出: 2
示例 4:
輸入: 「(()(()))」 輸出: 6
思路的重點是,根據右括號的對應棧的深度,判斷出需要需要乘以幾次2
給出實現**
class
solution
else
else}}
return sum;
}}
位元組跳動校招提前批前端一面總結
middle left right middle left right 4 比翼雙飛布局通過內層加margin的方式,讓內層元素剛好定位到露出位置。5 flex布局,父元素設定diaplay flex 6 table布局,設定display table cell 8 原型鏈 9 position的屬...
網易提前批一面程式設計題
三個執行緒abc,要求列印出a b c 方法一public class threadmain public static void printb public static void printc public static void main string args class threada i...
位元組跳動一面
最後面試官你好,我叫 9x年2x周歲,xx大學18屆畢業生 目前在公司研發部任職前端開發工程師,從事前端研發工作有2年了 我們公司的主要業務是關於企業融資和企業貸款這方面的 我目前主要負責公司官網的研發和維護,主要使用的技術棧是 vue 在公司官網開發中具體負責專案的管理,頁面結構的搭建,企業管理,...