当前位置: 首页 > news >正文

网站右边跳出的广告怎么做南京广告公司装修

网站右边跳出的广告怎么做,南京广告公司装修,深圳网站建设服务便宜,网上可以推广的地方目录 1- 思路栈实现四种情况处理 2- 实现⭐394. 字符串解码——题解思路 3- ACM 实现 原题链接:394. 字符串解码 1- 思路 栈实现四种情况处理 ① 遇到数字,进行倍数相加 、②遇到左括号,压栈之前的元素、③遇到右括号弹出,栈进行…

目录

  • 1- 思路
    • 栈实现+四种情况处理
  • 2- 实现
    • 394. 字符串解码——题解思路
  • 3- ACM 实现

  • 原题链接:394. 字符串解码

1- 思路

栈实现+四种情况处理

  • ① 遇到数字,进行倍数相加 、②遇到左括号,压栈之前的元素、③遇到右括号弹出,栈进行拼接、④否则遇到字母,直接拼接在 res
  • 通过栈,实现先进后出的思想

对于输入 3[a2[c]] 的输入,在读到 3[得到第一个括号 [ 之后才会进行入栈操作,也就是将之前的 3 入栈到一个 multi的栈中

    1. 定义一个 multi 变量用于存储倍数,也就是当前字符串扩大的倍数。
    1. 定义 res变量用于存储临时结果,如果读到的是字符,一直更新 res

读取过程

  • 读取数字:一开始如果读取的都是数字 multi,则对 multi*10 + c - '0'; 的方式
  • 读取字符:如果读取字符,暂存到 res 中,是否压栈取决于遇到的括号
  • 遇到 '[' 括号:如果遇到了左括号,则将 '[' 前状态的 数字 multi 和字符 res 进行压栈,之后重新更新 multires
  • 遇到 ']' 括号:如果遇到了右括号,则需要弹栈,进行处理


2- 实现

394. 字符串解码——题解思路

在这里插入图片描述

class Solution {public String decodeString(String s) {StringBuilder res = new StringBuilder();int multi = 0;// 两个栈Deque<Integer> stack_multi = new ArrayDeque<>();Deque<String> stack_str = new ArrayDeque<>();for(Character c: s.toCharArray()){//  0-9if( c>='0' && c<='9'){multi = multi*10 + c-'0';}else if(c == '['){stack_multi.push(multi);stack_str.push(res.toString());multi = 0;res = new StringBuilder();}else if(c == ']'){StringBuilder tmp = new StringBuilder();int curMulti = stack_multi.pop();for(int i = 0 ; i < curMulti;i++){tmp.append(res);}res = new StringBuilder(stack_str.pop()).append(tmp);}else{res.append(c);}}return res.toString();}
}

3- ACM 实现

public class strDecode {public static String strDecode(String str){// 1. 数据结构int multi = 0;StringBuffer res =  new StringBuffer();// 数字倍数Deque<Integer> stack_multi = new ArrayDeque<>();Deque<String> stack_res = new ArrayDeque<>();// 遍历字符串 strfor(Character c : str.toCharArray()){// 如果是数字 更新倍数if( c>='0' && c<= '9'){multi = multi *10 + c - '0';}else if( c == '['){// 压栈stack_multi.push(multi);stack_res.push(res.toString());// 重置multi = 0;res = new StringBuffer();}else if(c==']'){// 出栈计算int nowMulti = stack_multi.pop();StringBuffer tmp = new StringBuffer();for(int i = 0 ; i < nowMulti;i++){tmp = tmp.append(res);}res = new StringBuffer(stack_res.pop()).append(tmp);}else{res.append(c);}}return res.toString();}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();System.out.println("结果是"+strDecode(input));}
}

http://www.yayakq.cn/news/476767/

相关文章:

  • 做房产网站不备案可以吗织梦网站建设网页
  • 郑州有哪些搞网站开发的公司网站建设有哪几种
  • 动漫新闻资讯站企业解决方案公司
  • 西安网站推广方案网站中的搜索框图标怎么做的
  • linux wordpress 建站教程百度网站后台管理系统
  • 个人备案 网站简介怎么写做网站用商标吗
  • 上虞建设银行官网站wordpress数据库优化插件
  • 自己怎么给网站做优化排名做彩票网站需要什么收钱的
  • 网站建设科技公司昆明百度小程序
  • 手机怎么搭建网站源码搭建一个网站花多少钱
  • 网站建设合同怎么写百度竞价推广专员
  • 工程建设造价全过程监督网站二级建造师考试科目
  • 公路建设项目可行性研究报告编制办法哪个网站查最新版泰安考试信息网官网
  • 秦皇岛网站制作报价网站建设申请报告
  • 河北衡水市网站制作的公司室内设计网站参考
  • 网站建设公司咋样桂林市区有什么好玩的地方景点
  • 英迈思做的网站怎么样国外著名网站建设公司
  • 河北建设厅录入业绩的网站wordpress主题插件下载失败
  • 济源市住房和城乡建设局网站做ppt的网站有哪些
  • 自己建一个网站需要多少钱?做网站需要哪些技术支持
  • html5 企业 网站广东东莞市
  • 网站建设方案样本asp.net网站设计分工
  • 招商网站建设简介网上推广平台
  • 网站跳转到另外一个网站怎么做莱州一中网站
  • 女与男做那个的视频网站网站空间是不是服务器
  • 用手机怎么做网站顺企网下载安装
  • 公司网站必须做可信认证吗沧州建设银行招聘网站
  • 谷歌收录网站福州 哈尔滨网站建设 网络服务
  • 手机作网站服务器网站用什么颜色
  • 做蛋糕视频教学网站网站搭建心得体会