美文网首页
数据结构之"栈"

数据结构之"栈"

作者: 陈裔松的技术博客 | 来源:发表于2019-04-25 19:57 被阅读0次
栈(计算机术语)

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

题目: 682. 棒球比赛

思路:用数组实现堆栈结构,进而得出每轮的分数

function calPoints(arr) {
    // 用数组来实现堆栈结构,pop,push
    let result = [];
    // 上一轮的数据
    let pre1 = 0;
    // 对数组进行遍历,遍历的目的是处理得分
    let pre2 = 0;
    arr.forEach(item => {
        switch (item) {
            case 'C':
                if (result.length) {
                    result.pop();
                } else {
                    result.push(0);
                }
                break;
            case 'D':
                if (result.length) {
                    pre1 = result.pop();
                    result.push(pre1, pre1 * 2);
                } else {
                    result.push(0);
                }
                break;
            case '+':
                if (result.length) {
                    pre1 = result.pop();
                    if (result.length) {
                        pre2 = result.pop();
                        result.push(pre2, pre1, pre2 + pre1);
                    } else {
                        result.push(pre1, 0);
                    }
                } else {
                    result.push(0);
                }
                break;
            default:
                result.push(item * 1);
                break;
        }
    });
    return result.reduce((total, num) => total + num);
}

相关文章

  • Android面试题总结(题目+复习链接)

    数据结构 1.栈实现原理 java数据结构与算法之栈(Stack)设计与实现 - CSDN博客 2.链表实现原理 ...

  • 数据结构之栈 原理 栈是一种比较常见的数据结构,它的操作可以看做是数组的子集,因为栈只能从栈顶取元素和添加元素,并...

  • 数据结构之---栈

    数据结构之---栈 顺序栈 内部采用数组实现 结构图; 定义结构体: 函数声明 进栈以及出栈 图示: 其余操作 链...

  • Activity启动模式精讲

    讲解本技术点之前需要准备的技术点回顾 栈数据结构 数据结构图文解析之:栈的简介及C++模板实现 - melonst...

  • 数据结构之栈的链式存储结构

    之前写了栈的顺序存储结构,对栈的定义和操作进行了说明 数据结构之栈的顺序存储结构 现在接着写栈的链式存储结构 栈的...

  • 栈和队列

    1、栈 栈是一种先进先出的数据结构。栈顶进栈,栈顶出栈。 数据结构 栈的初始化 进栈 出栈 栈的最小值 2、队列 ...

  • Java 基础 35 数据结构和ArrayList集合的相关案例

    1.1 数据结构 什么是数据结构?数据的组织方式.维基百科 1.1.1 常见数据结构之栈和队列 1.1.2常见数据...

  • 实战PHP数据结构基础之栈

    栈和队列 栈和队列和之前讲到的实战PHP数据结构基础之双链表 一样都是线性结构。 栈有什么特点 栈遵循后进先出的原...

  • 004 go语言实现栈

    1 数据结构 数据结构: 要实现的功能:0 栈的初始化1 获取栈长度2 入栈3 出栈4 清空栈内容5 判断栈是否为...

  • java高级知识点

    1.数据结构 程序=数据结构+算法 栈:后进先出,线性结构 入栈:push 出栈:pop假如已知入栈顺序是ab...

网友评论

      本文标题:数据结构之"栈"

      本文链接:https://www.haomeiwen.com/subject/qertnqtx.html