leetcode-棒球比赛

说明:

你现在是棒球比赛记录员。
给定一个字符串列表,每个字符串可以是以下四种类型之一:
1.整数(一轮的得分):直接表示您在本轮中获得的积分数。

  1. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。
  2. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。
  3. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该被移除。

每一轮的操作都是永久性的,可能会对前一轮和后一轮产生影响。
你需要返回你在所有回合中得分的总和。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/baseball-game
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解决思路:模拟栈

public function solution($ops)
    {
        $stack = [];
        $res = 0;
        foreach ($ops as $k=>$op) {
            switch ($op) {
                case "+":
                    count($stack) > 1 ? $end = end($stack) + $stack[count($stack)-2] : $end = end($stack);
                    array_push($stack, (int)$end);
                    $res += end($stack);
                    break;
                case "D":
                    array_push($stack, (int)(end($stack)*2));
                    $res += end($stack);
                    break;
                case "C":
                    $res -= array_pop($stack);
                    break;
                default:
                    array_push($stack, (int)$op);
                    $res += end($stack);
                    break;
            }
        }
        return $res;
    }
Visits: 948

《leetcode-棒球比赛》有2个想法

  1. 春江潮水连海平,海上明月共潮生。

    滟滟随波千万里,何处春江无月明!

    江流宛转绕芳甸,月照花林皆似霰;

    空里流霜不觉飞,汀上白沙看不见。

    江天一色无纤尘,皎皎空中孤月轮。

    江畔何人初见月?江月何年初照人?

    人生代代无穷已,江月年年望相似。

    不知江月待何人,但见长江送流水。

    白云一片去悠悠,青枫浦上不胜愁。

    谁家今夜扁舟子?何处相思明月楼?

    可怜楼上月徘徊,应照离人妆镜台。

    玉户帘中卷不去,捣衣砧上拂还来。

    此时相望不相闻,愿逐月华流照君。

    鸿雁长飞光不度,鱼龙潜跃水成文。

    昨夜闲潭梦落花,可怜春半不还家。

    江水流春去欲尽,江潭落月复西斜。

    斜月沉沉藏海雾,碣石潇湘无限路。

    不知乘月几人归,落月摇情满江树。

发表评论

电子邮件地址不会被公开。 必填项已用*标注