首页 > 其他分享 >LC[150] 逆波兰表达式求值

LC[150] 逆波兰表达式求值

时间:2022-11-21 22:58:10浏览次数:62  
标签:150 ch LC -- long else int num 求值

原题链接:https://leetcode.cn/problems/maximum-subarray/description/

  1. 慎用自增/自减符号,不要偷懒,写两行代码更为保险
    以下两段代码的效果是不一样的
num[p - 1] *= num[p--];
num[p - 1] *= num[p];
p--;
  1. 数据范围会爆int,换成long long

AC代码:

class Solution {
public:
    long long num[10010];
    int p = 0;
    int evalRPN(vector<string> &tokens)
    {
        for (auto ch : tokens)
        {
            printf("%s ", ch.c_str());
            if (ch == "+")
            {
                num[p - 1] += num[p];
                p--;
            }
            else if (ch == "-")
            {
                num[p - 1] -= num[p];
                p--;
            }
            else if (ch == "*")
            {
                // printf("%d %d\n", num[p], num[p - 1]);
                // printf("%d * %d = %d\n", num[p-1], num[p], num[p - 1] * num[p]);
                num[p - 1] *= num[p];
                p--;
            }
            else if (ch == "/")
            {
                num[p - 1] /= num[p];
                p--;
            }
            else
            {
                num[++p] = atoi(ch.c_str());
            }

            for (int i = 1; i <= 5; i ++)
            {
                printf("%d ", num[i]);
            }
            puts("");
        }
        return num[1];
    }
};

标签:150,ch,LC,--,long,else,int,num,求值
From: https://www.cnblogs.com/StarTwinkle/p/16913530.html

相关文章

  • LC[53] 最大子数组和
    原题链接:https://leetcode.cn/problems/maximum-subarray/description/WA了一次,是因为没有考虑到负数的情况AC代码:classSolution{public:intmaxSubArray(vecto......
  • LC[386] 字典序排数
    https://leetcode.cn/problems/lexicographical-numbers/description/想像成一颗树的遍历AC代码:classSolution{public:vector<int>lexicalOrder(intn){......
  • 抗噪/防干扰LCD显示液晶段码驱动VK2C21A/B/BA/C/D适用于燃气表,瓦斯表,煤气表,温控器
    概述:VK2C21是一个点阵式存储映射的LCD驱动器,可支持最大80点(20SEGx4COM)或者最大128点(16SEGx8COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,也可通过指令进入......
  • 工程师如何实现西门子PLC S7-1500的远程程序上下载?
    西门子S7-1500系列PLC是系西门子主推的新一代产品。它为企业在自动化控制系统中提供了更高的运行能力,而且简单易用,接上了大量的系统开发时间。同时具备很强的通讯功能和扩展......
  • AtCoder Regular Contest 150补题
    AtCoderRegularContest150A.Continuous1知识点:简单题复杂度:\(O(n)\)当一个区间合法,那么必定区间长度为k,并且区间内无0,并且1的个数等于所有的1的总和这个使用个......
  • ARC150D
    首先由于期望的线性性,考虑对每个点分别计算它的期望操作次数。然后设当前考虑的点为\(u\),那么只用关注根节点到\(u\)的链上的点。对这条链上的操作满足以下两个性质:......
  • 施耐德PLC TM218如何实现远程上传下载程序?
    施耐德TM218支持IEC61131-3标准的六种编程语言,具备模块化、结构紧凑、功能全面等特点,在工业控制领域应用广泛,是市场上常见的产品之一,性价比较高。因此,对于采购施耐德PLC的企......
  • C#获取PLC信息 (KepServer)三
    有些业务场景不适合异步获取信息,可以使用主动轮询+同步获取的方式获取OPC信息usingOPCAutomation;usingSystem;usingSystem.Collections.Generic;usingSystem.Dat......
  • 数字孪生来了!1500亿美元潜在市场,颠覆工业界底层逻辑
    在过去的十多年里,“消费互联网”已经改变了人类的行为。而尽管消费世界已经数字化,工业界的数字化应用并没有受到太多关注。随着元宇宙时代的来临,数字孪生(digitaltwin)......
  • 399.除法求值
    给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i]=[Ai,Bi] 和 values[i] 共同表示等式 Ai/Bi=values[i] 。每个 A......