国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

湖南城鄉(xiāng)建設(shè)部網(wǎng)站不收費(fèi)推廣網(wǎng)站有哪些

湖南城鄉(xiāng)建設(shè)部網(wǎng)站,不收費(fèi)推廣網(wǎng)站有哪些,邢臺(tái)網(wǎng)站建設(shè)哪家好,寶塔安裝wordpress教程這是一道 困難 題。 題目來(lái)自:leetcode 題目 給你一個(gè)字符串表達(dá)式 s ,請(qǐng)你實(shí)現(xiàn)一個(gè)基本計(jì)算器來(lái)計(jì)算并返回它的值。 注意: 不允許使用任何將字符串作為數(shù)學(xué)表達(dá)式計(jì)算的內(nèi)置函數(shù),比如 eval() 。 提示: s 由數(shù)字、‘’、‘-’…

這是一道?困難?題。

題目來(lái)自:leetcode

題目

給你一個(gè)字符串表達(dá)式?s?,請(qǐng)你實(shí)現(xiàn)一個(gè)基本計(jì)算器來(lái)計(jì)算并返回它的值。

注意: 不允許使用任何將字符串作為數(shù)學(xué)表達(dá)式計(jì)算的內(nèi)置函數(shù),比如?eval()?。

提示:

  • s?由數(shù)字、‘+’、‘-’、‘(’、‘)’、和 ’ ’ 組成
  • s?表示一個(gè)有效的表達(dá)式
  • +’ 不能用作一元運(yùn)算(例如, “+1” 和 “+(2 + 3)” 無(wú)效)
  • 輸入中不存在兩個(gè)連續(xù)的操作符
  • 每個(gè)數(shù)字和運(yùn)行的計(jì)算將適合于一個(gè)有符號(hào)的?32位?整數(shù)

示例 1:

輸入:s =?"1 + 1"
輸出:2

示例 2:

輸入:s =?" 2-1 + 2 "
輸出:3

示例 3:

輸入:s =?"(1+(4+5+2)-3)+(6+8)"
輸出:23

解題思路

這道題是 實(shí)現(xiàn)一個(gè)包含“加減乘除”的基本計(jì)算器 的擴(kuò)展,在表達(dá)式中增加了 括號(hào) “(”, “)”正負(fù)數(shù),但是刪除了 “*” 和 “/”。

在原來(lái)的解題方法中補(bǔ)充以下幾點(diǎn):

  1. 括號(hào)的處理:
    • 如果遇到左括號(hào):直接壓入操作符棧。
    • 如果遇到右括號(hào):將操作符棧中左括號(hào)后面的所有操作符出棧,并與數(shù)字棧進(jìn)行計(jì)算合并。
  2. 正負(fù)數(shù)的處理:
    • 可以使用 補(bǔ)0 的思路,在正負(fù)數(shù)前面加一個(gè)“0”,將表達(dá)式轉(zhuǎn)換為沒(méi)有正負(fù)號(hào)的式子。

那么如何確定“+”和“-”是代表算符還是正負(fù)號(hào)呢?

  1. 如果 “+”和“-” 是第一個(gè)非空字符,那么代表是正負(fù)號(hào)。
  2. 如果 “+”和“-” 的前一個(gè)非空字符也是“+”或者“-”,那么代表是正負(fù)號(hào)。
  3. 如果 “+”和“-” 的前一個(gè)非空字符是 左括號(hào) ,那么代表是正負(fù)號(hào)。

:補(bǔ)0的思路只能用于加減法.

代碼實(shí)現(xiàn)


class Solution {private Deque<Integer> numStack = new LinkedList<>();private Deque<Character> optStack = new LinkedList<>();public int calculate(String s) {int n = s.length();boolean needZero = true;for(int i = 0; i < n; i++){char ch = s.charAt(i);if(this.isNumber(ch)){int num = 0;needZero = false;while(i < n && this.isNumber(s.charAt(i))){num = num * 10 + s.charAt(i) - '0';i++;}numStack.push(num);i--;}else if(ch == ' '){continue;}else if(ch == '('){optStack.push('(');needZero = true;continue;}else if(ch == ')'){while(optStack.peek() != '('){this.calc(numStack, optStack);}// 刪除左括號(hào)optStack.pop();needZero = false;}else{if(needZero){numStack.push(0);}while(!optStack.isEmpty() && optStack.peek() != '('){this.calc(numStack, optStack);}optStack.push(ch);needZero = true;}}while(!optStack.isEmpty()){this.calc(numStack, optStack);}return numStack.pop();}private boolean isNumber(char ch){return ch >= '0' && ch <= '9';}private void calc(Deque<Integer> numStack, Deque<Character> optStack){int num2 = numStack.pop();int num1 = numStack.pop();char opt = optStack.pop();if(opt == '+'){  numStack.push(num1 + num2);}else{numStack.push(num1 - num2);}}}

復(fù)雜度分析

時(shí)間復(fù)雜度:O(N)O(N)O(N),N 為字符串長(zhǎng)度。

空間復(fù)雜度:O(N)O(N)O(N),N 為字符串長(zhǎng)度。

http://m.aloenet.com.cn/news/35308.html

相關(guān)文章:

  • 惠州網(wǎng)站制作費(fèi)用哈爾濱最新疫情通報(bào)
  • vs做網(wǎng)站出現(xiàn)顯示bug百度搜索資源平臺(tái)提交
  • 郵編域名做網(wǎng)站百度一下網(wǎng)頁(yè)
  • 手機(jī)網(wǎng)站生成app解析域名網(wǎng)站
  • 本溪網(wǎng)站建設(shè)網(wǎng)站建站公司
  • 家裝企業(yè)網(wǎng)站系統(tǒng)下載安卓?jī)?yōu)化大師老版本
  • 如何經(jīng)營(yíng)一個(gè)購(gòu)物網(wǎng)站seo關(guān)鍵詞查詢工具
  • 上海市建設(shè)交通工會(huì)網(wǎng)站百度關(guān)鍵詞優(yōu)化專(zhuān)家
  • 做動(dòng)漫網(wǎng)站如何應(yīng)用數(shù)據(jù)綁定百度一下你就知道百度一下
  • 中衛(wèi)企業(yè)管理培訓(xùn)網(wǎng)站優(yōu)化公司網(wǎng)站
  • 菏澤做網(wǎng)站公司百度搜索引擎優(yōu)化詳解
  • 深圳大浪網(wǎng)站建設(shè)深圳網(wǎng)
  • 杭州軟件app制作公司太原seo排名
  • 做電影網(wǎng)站需要什么條件網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃內(nèi)容
  • 深圳app開(kāi)發(fā)公司哪家服務(wù)好巢湖seo推廣
  • 莆田網(wǎng)站建設(shè)哪家好什么是全網(wǎng)營(yíng)銷(xiāo)推廣
  • 263企業(yè)郵箱登錄入口首頁(yè)上海seo公司哪家好
  • 買(mǎi)源碼做網(wǎng)站靠譜嗎網(wǎng)絡(luò)公司網(wǎng)絡(luò)推廣服務(wù)
  • 社會(huì)保險(xiǎn)業(yè)務(wù)網(wǎng)站百度指數(shù)app官方下載
  • 東莞外貿(mào)公司建網(wǎng)站業(yè)務(wù)推廣方式
  • 發(fā)布個(gè)人免費(fèi)網(wǎng)站的一般流程圖重慶seo公司排名
  • app展示網(wǎng)站軟件排名優(yōu)化
  • 金華網(wǎng)站開(kāi)發(fā)公司北京seo邢云濤
  • 西地那非片有依賴性嗎湘潭seo快速排名
  • 做物理的網(wǎng)站企業(yè)如何進(jìn)行網(wǎng)絡(luò)營(yíng)銷(xiāo)
  • 甘肅省建設(shè)廳質(zhì)量投訴網(wǎng)站武漢百度seo網(wǎng)站優(yōu)化
  • 建網(wǎng)站是什么專(zhuān)業(yè)類(lèi)別寧德市高中階段招生信息平臺(tái)
  • 網(wǎng)站建設(shè)計(jì)劃表模板下載百度指數(shù)數(shù)據(jù)分析平臺(tái)
  • 豐寧縣有做網(wǎng)站的嗎?站長(zhǎng)申論
  • 設(shè)置wordpress上傳文件大小限制西安網(wǎng)站優(yōu)化培訓(xùn)