leetcode刷題日記——逆波蘭表達式求值

[ 題目描述 ]:
在這里插入圖片描述
[ 思路 ]:

  • 借助棧的特性,遇見數字就將這個數壓入棧內,遇見符號,就從棧中彈出兩個數,進行相應的運算,然后將結果壓入棧中
  • 運行如下
    在這里插入圖片描述
int evalRPN(char** tokens, int tokensSize) {int* stack = (int*)malloc(sizeof(int) * tokensSize);int top = -1;for (int i = 0; i < tokensSize; i++) {if (strcmp(tokens[i], "*") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b * a;} else if (strcmp(tokens[i], "+") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b + a;} else if (strcmp(tokens[i], "-") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b - a; } else if (strcmp(tokens[i], "/") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b / a; } else {int num = 0;int sign = 1;int j = 0;if (tokens[i][0] == '-') {sign = -1;j = 1;}for (; tokens[i][j] != '\0'; j++) {num = num * 10 + (tokens[i][j] - '0');}stack[++top] = num * sign;}}int result = stack[top];free(stack);return result;
}

[ 官方題解 ]:

  • 方法一:棧,思路基本同上
  • 方法二:數組模擬棧,即,上述操作

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

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

相關文章

firewalld 詳解

firewalld 詳解 firewalld 是 Linux 系統中一個動態防火墻管理工具&#xff0c;取代了傳統的 iptables&#xff0c;提供更靈活、動態的規則配置&#xff0c;支持運行時修改且無需重載服務。以下是其核心概念、常用操作及示例指南&#xff1a; 一、核心概念 區域&#xff08;Zo…

面向高性能運動控制的MCU:架構創新、算法優化與應用分析

摘要&#xff1a;現代工業自動化、汽車電子以及商業航天等領域對運動控制MCU的性能要求不斷提升。本文以國科安芯的MCU芯片AS32A601為例&#xff0c;從架構創新、算法優化到實際應用案例&#xff0c;全方位展示其在高性能運動控制領域的優勢與潛力。該MCU以32位RISC-V指令集為基…

支付寶小程序組件與頁面構造器使用指南:從頁面到組件的正確遷移

引言 在支付寶小程序開發中&#xff0c;我們經常會遇到需要將頁面組件化的情況。本文將通過一個實際案例&#xff08;將 /pages/plugin/device 從頁面遷移到組件&#xff09;&#xff0c;深入分析支付寶小程序中頁面和組件的區別&#xff0c;以及正確的遷移方式。我們將從問題…

26-算法打卡-字符串-右旋字符串-第二十六天

1 題目說明 字符串的右旋轉操作是把字符串尾部的若干個字符轉移到字符串的前面。給定一個字符串 s 和一個正整數 k&#xff0c;請編寫一個函數&#xff0c;將字符串中的后面 k 個字符移到字符串的前面&#xff0c;實現字符串的右旋轉操作。 例如&#xff0c;對于輸入字符串 &qu…

fastbev mmdetection3D 角度和方向損失

角度/方向損失 sin(a?b)sinacosb?cosasinb config參數 dir_offset0.7854, # pi/4 dir_limit_offset0, box編解碼 # Copyright (c) OpenMMLab. All rights reserved. import torchfrom mmdet.core.bbox import BaseBBoxCoder from mmdet.core.bbox.builder import BBOX_COD…

極狐GitLab 如何 cherry-pick 變更?

極狐GitLab 是 GitLab 在中國的發行版&#xff0c;關于中文參考文檔和資料有&#xff1a; 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 揀選(cherry-pick)更改 (BASIC ALL) 在 Git 中&#xff0c;cherry-pick 是從一個分支獲取一個提交并將其添加為另一個分支的…

java多線程(7.0)

目錄 ?編輯 定時器 定時器的使用 三.定時器的實現 MyTimer 3.1 分析思路 1. 創建執行任務的類。 2. 管理任務 3. 執行任務 3.2 線程安全問題 定時器 定時器是軟件開發中的一個重要組件. 類似于一個 "鬧鐘". 達到一個設定的時間之后, 就執行某個指定好的…

優化非線性復雜系統的參數

非線性項組合的系統 對于系統中的每一個復雜擬合&#xff0c;即每一個殘差函數&#xff0c;都能表示為非線性方程的趨勢&#xff0c;例如較為復雜的系統函數組&#xff0c; from optimtool.base import sp, np x sp.symbols("x1:5") res1 0.5*x[0] 0.2*x[1] 1.…

清華LeapLab開源Cooragent框架:一句話構建本地智能體服務群,讓AGI真正觸手可及

引言&#xff1a;智能體革命&#xff0c;從復雜到簡單 在人工智能發展的浪潮中&#xff0c;Agent&#xff08;智能體&#xff09; 技術被視為實現通用人工智能&#xff08;AGI&#xff09;的關鍵路徑。然而&#xff0c;傳統智能體的開發與協作始終面臨兩大痛點&#xff1a;依賴…

云原生--核心組件-容器篇-1-Docker和云原生關系(Docker是云原生的基石)

1、基本概念 &#xff08;1&#xff09;、云原生&#xff08;Cloud Native&#xff09; 是一種構建和運行應用程序的方法論&#xff0c;旨在充分利用云計算環境&#xff08;公有云、私有云、混合云&#xff09;的特性&#xff0c;通過容器化、微服務、服務網格、聲明式API等技…

問答頁面支持拖拽和復制粘貼文件,MaxKB企業級AI助手v1.10.6 LTS版本發布

2025年4月24日&#xff0c;MaxKB開源企業級AI助手正式發布v1.10.6 LTS版本。這一版本主要進行了一些功能優化和問題修復。 功能優化 ■ 應用&#xff1a;文件上傳支持上傳其他自定義的文件類型&#xff0c;該類型文件需要自行寫入函數解析&#xff1b; ■ 問答頁面&#xff…

用戶案例--慧眼科技

作者&#xff1a;算力魔方創始人/英特爾創新大使劉力 每個行業都有其獨特的需求&#xff0c;算力魔方推出了全面的定制化服務&#xff0c;從概念到產品化&#xff0c;滿足各行各業&#xff0c;用戶可以根據具體應用需求定制更多接口或更強圖形處理的需求&#xff0c;且算力魔方…

apple 個人開發者轉公司經驗

1、在apple開發者官網申請 2、收到郵件后&#xff0c;回復準備了開始遷移 3、收到填寫遷移資料的郵件 4、開始填寫資料 Sign In - Applehttps://developer.apple.com/enroll/type/edit To complete this change, you will need: 要完成此更改&#xff0c;您需要&#xff1a; L…

【ESP32-IDF筆記】20-配置以太網網絡(W5500)

環境配置 Visual Studio Code &#xff1a;版本1.98.2 ESP32&#xff1a;ESP32-S3 ESP-IDF&#xff1a;V5.4 模塊&#xff1a;W5500&#xff0c;SPI通訊協議 組件支持&#xff1a;esp_eth 官方的ethernet 以太網組件 W5500介紹 介紹 W5500 是一款全硬件 TCP/IP 嵌入式以太網…

衛星通信的基本概念

1 頻段 頻段 頻率范圍 技術特點 典型應用 優勢 局限性 最新進展 L 頻段 1-2 GHz 波長較長&#xff0c;穿透能力強&#xff0c;受天氣影響小&#xff0c;帶寬較窄&#xff08;<100 MHz&#xff09;。 衛星導航&#xff08;北斗 / GPS&#xff09;、海事通信&#x…

數據結構------C語言經典題目(7)

1.系統棧和數據結構中的棧有什么區別&#xff1f; 1.本質&#xff1a; 系統棧&#xff1a;由程序運行時由操作系統自動分配的一塊連續內存區域&#xff0c;用于存儲函數調用過程中的臨時數據&#xff08;參數、局部變量、返回地址&#xff09;&#xff0c;是程序運行的底層機制…

【Redis】一、redis的下載與安裝

目錄 一、redis下載 二、啟動服務 三、測試服務 四、可視化界面 五、設置reids密碼 今天起準備對redis進行學習&#xff0c;目標是掌握實際開發項目中如何應用redis等操作。首先在這里講將如何下載redis&#xff0c;方便以后查閱。 一、redis下載 可以去官網&#xff08…

vue3中nextTick的作用及示例

在Vue 3中&#xff0c;nextTick是一個用于處理DOM異步更新的工具函數&#xff0c;確保在數據變化后操作最新的DOM。以下是其作用的詳細解析&#xff1a; 核心作用 延遲回調到DOM更新后&#xff1a;Vue的響應式系統會將數據變更批量處理&#xff0c;異步更新DOM。nextTick允許你…

拆解大模型“越獄”攻擊:對抗樣本如何撕開AI安全護欄?

該文章首發于奇安信攻防社區:https://forum.butian.net/share/4254 引言 隨著大規模語言模型(LLMs)在內容生成、智能交互等領域的廣泛應用,其安全性和可控性成為學界和產業界關注的焦點。盡管主流模型通過道德對齊機制建立了安全護欄,但研究者發現,通過精心設計的"…

Ubuntu主機上通過WiFi轉有線為其他設備提供網絡連接

以下是在Ubuntu主機上通過WiFi轉有線為Jetson設備提供網絡連接的步驟&#xff1a; ??1. 確認網絡接口名稱?? 在Ubuntu主機上執行以下命令&#xff0c;查看WiFi和有線接口名稱&#xff1a; ip a WiFi接口通常類似 wlp2s0 或 wlan0有線接口通常類似 enp0s25 或 eth0 記下…