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

手机自助网站建设我们公司想做网络推广

手机自助网站建设,我们公司想做网络推广,儿童玩具网站建设实训报告,dw做网页教程一、题目描述 给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。 列表中的每个元素只可能是整数或整数嵌套列表 示例 1: 输入:s "324", 输出:324 解释&#xff…

一、题目描述

给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。

列表中的每个元素只可能是整数或整数嵌套列表

示例 1:

输入:s = "324",
输出:324
解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。

示例 2:

输入:s = "[123,[456,[789]]]",
输出:[123,[456,[789]]]
解释:返回一个 NestedInteger 对象包含一个有两个元素的嵌套列表:
1. 一个 integer 包含值 123
2. 一个包含两个元素的嵌套列表:i.  一个 integer 包含值 456ii. 一个包含一个元素的嵌套列表a. 一个 integer 包含值 789

提示:

  • 1 <= s.length <= 5 * 10^4
  • s 由数字、方括号 "[]"、负号 '-' 、逗号 ','组成
  • 用例保证 s 是可解析的 NestedInteger
  • 输入中的所有值的范围是 [-10^6, 10^6]

二、解题思路

解题思路:

  • 如果字符串 s 的第一个字符不是 [,那么它是一个整数,可以直接解析并返回。
  • 如果 s 的第一个字符是 [,那么它是一个嵌套列表。我们需要遍历字符串,解析出每个元素(整数或嵌套列表),并将其添加到结果 NestedInteger 对象中。

在解析嵌套列表时,我们需要注意以下几点:

  • 使用一个栈来追踪嵌套的深度。每当遇到 [,将一个新 NestedInteger 对象压入栈中;每当遇到 ],将栈顶的 NestedInteger 对象弹出。
  • 当遇到 , 或 ] 时,表示一个元素的结束。如果元素不是空的,将其添加到栈顶的 NestedInteger 对象中。

三、具体代码

import java.util.*;public class Solution {public NestedInteger deserialize(String s) {if (s == null || s.isEmpty()) {return new NestedInteger();}if (s.charAt(0) != '[') { // 如果不是以'['开头,则表示是一个整数return new NestedInteger(Integer.parseInt(s));}// 如果以'['开头,则表示是一个嵌套列表Stack<NestedInteger> stack = new Stack<>();NestedInteger curr = null;int numStart = 0; // 数字开始的索引for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (c == '[') {// 遇到 '[' 时,将一个新的 NestedInteger 压入栈中if (curr != null) {stack.push(curr);}curr = new NestedInteger();numStart = i + 1; // 数字开始的索引更新} else if (c == ',' || c == ']') {// 遇到 ',' 或 ']' 时,表示一个元素的结束if (i > numStart) { // 确保字符串不是空的String num = s.substring(numStart, i);if (!num.isEmpty()) {curr.add(new NestedInteger(Integer.parseInt(num)));}}numStart = i + 1; // 数字开始的索引更新if (c == ']') {// 遇到 ']' 时,将当前 NestedInteger 弹出并添加到上一个 NestedInteger 中if (!stack.isEmpty()) {NestedInteger pop = stack.pop();pop.add(curr);curr = pop;}}}}return curr;}
}

四、时间复杂度和空间复杂度

1. 时间复杂度

代码中的主要操作是遍历字符串 s,这个操作的时间复杂度是 O(n),其中 n 是字符串 s 的长度。在遍历过程中,对于每个字符,我们执行了常数时间的操作,例如字符比较、字符串子串的创建和整数的解析。这些操作不会改变整体的时间复杂度,仍然是 O(n)。

因此,整体的时间复杂度是 O(n)。

2. 空间复杂度

空间复杂度主要取决于以下两个因素:

  • 栈 stack:在最坏的情况下,如果嵌套列表非常深,那么栈的大小将接近字符串的长度 n。因此,栈的空间复杂度是 O(n)。

  • 字符串子串:在每次遇到逗号或右括号时,我们可能创建了一个新的字符串子串。在最坏的情况下,每次都会创建一个新的子串,这些子串的总长度将接近字符串的长度 n。因此,字符串子串的空间复杂度也是 O(n)。

综上所述,整体的空间复杂度是 O(n),因为这两个空间需求是并列的,不是累加的。

五、总结知识点

  • 接口与实现

    • NestedInteger 接口的使用,该接口定义了嵌套整数的抽象操作。
  • 字符串处理

    • 使用 charAt 方法来访问字符串中的单个字符。
    • 使用 substring 方法来提取字符串的子串。
  • 异常处理

    • 在将字符串转换为整数时,如果字符串不是一个有效的整数表示,parseInt 方法会抛出 NumberFormatException
  • 数据结构

    • 使用 Stack 来处理嵌套结构,这是解决此类问题的一种常见方法。
  • 逻辑控制

    • 使用循环 (for 循环) 来遍历字符串。
    • 使用条件语句 (if-else) 来根据不同的字符进行不同的处理。
  • 递归结构

    • 虽然代码本身不是递归的,但处理嵌套列表的逻辑是递归的,因为每次遇到 [ 时,都会创建一个新的 NestedInteger 对象,并在遇到 ] 时将其添加到上一层的 NestedInteger 对象中。
  • 对象操作

    • 创建 NestedInteger 对象,并使用 add 方法来添加整数或嵌套列表。
  • 边界条件处理

    • 检查字符串是否为空或 null,并返回一个空的 NestedInteger 对象。
    • 确保在添加整数前字符串子串不为空。
  • 索引管理

    • 使用变量 numStart 来跟踪当前数字子串的开始位置。
  • 栈的操作

    • 使用 push 方法将对象压入栈中。
    • 使用 pop 方法从栈中弹出对象。

以上就是解决这个问题的详细步骤,希望能够为各位提供启发和帮助。


文章转载自:
http://marginate.rmyn.cn
http://envier.rmyn.cn
http://webby.rmyn.cn
http://uriel.rmyn.cn
http://grossdeutsch.rmyn.cn
http://suddenly.rmyn.cn
http://micr.rmyn.cn
http://dyslogy.rmyn.cn
http://lodge.rmyn.cn
http://chisanbop.rmyn.cn
http://unsung.rmyn.cn
http://churlish.rmyn.cn
http://frangibility.rmyn.cn
http://troubadour.rmyn.cn
http://kigali.rmyn.cn
http://mottled.rmyn.cn
http://antilabor.rmyn.cn
http://hackman.rmyn.cn
http://paraldehyde.rmyn.cn
http://interaction.rmyn.cn
http://elecampane.rmyn.cn
http://selectric.rmyn.cn
http://horizontality.rmyn.cn
http://interdepend.rmyn.cn
http://mce.rmyn.cn
http://pinger.rmyn.cn
http://wiper.rmyn.cn
http://lenticulated.rmyn.cn
http://impavidity.rmyn.cn
http://rebeldom.rmyn.cn
http://inapplicable.rmyn.cn
http://colophon.rmyn.cn
http://frightening.rmyn.cn
http://scilicet.rmyn.cn
http://steading.rmyn.cn
http://titleholder.rmyn.cn
http://refluence.rmyn.cn
http://testacy.rmyn.cn
http://chilli.rmyn.cn
http://crossbowman.rmyn.cn
http://nabobess.rmyn.cn
http://vapory.rmyn.cn
http://squirarchy.rmyn.cn
http://cack.rmyn.cn
http://ganges.rmyn.cn
http://utricular.rmyn.cn
http://annexure.rmyn.cn
http://vexatiously.rmyn.cn
http://nondescript.rmyn.cn
http://asean.rmyn.cn
http://opal.rmyn.cn
http://perhydrogenate.rmyn.cn
http://hungry.rmyn.cn
http://desiccated.rmyn.cn
http://mayence.rmyn.cn
http://incondensability.rmyn.cn
http://irl.rmyn.cn
http://furcate.rmyn.cn
http://landler.rmyn.cn
http://amyotrophia.rmyn.cn
http://outrance.rmyn.cn
http://flooey.rmyn.cn
http://unction.rmyn.cn
http://pursiness.rmyn.cn
http://sensate.rmyn.cn
http://monogamy.rmyn.cn
http://prevision.rmyn.cn
http://fieldsman.rmyn.cn
http://ruff.rmyn.cn
http://retardate.rmyn.cn
http://gleg.rmyn.cn
http://backcross.rmyn.cn
http://frusta.rmyn.cn
http://leicestershire.rmyn.cn
http://cobweb.rmyn.cn
http://finalize.rmyn.cn
http://terdiurnal.rmyn.cn
http://anisaldehyde.rmyn.cn
http://identifier.rmyn.cn
http://recommendable.rmyn.cn
http://crutched.rmyn.cn
http://impartibility.rmyn.cn
http://rutlandshire.rmyn.cn
http://woodnote.rmyn.cn
http://interpolation.rmyn.cn
http://distraint.rmyn.cn
http://dolabriform.rmyn.cn
http://gothickry.rmyn.cn
http://biedermeier.rmyn.cn
http://pronase.rmyn.cn
http://huskily.rmyn.cn
http://antitype.rmyn.cn
http://recon.rmyn.cn
http://fustanella.rmyn.cn
http://latteen.rmyn.cn
http://haffir.rmyn.cn
http://miscatalogued.rmyn.cn
http://putrescent.rmyn.cn
http://interlock.rmyn.cn
http://dismountable.rmyn.cn
http://www.15wanjia.com/news/74932.html

相关文章:

  • 顺企网赣州网站建设中国站长之家网站
  • 网站设计十大品牌河池网站seo
  • 国外vps做网站测速搜索引擎的优化方法有哪些
  • 有服务器做网站网络销售的好处和意义
  • 网络优化工程师前景如何站内seo和站外seo区别
  • 做外贸在哪个网站找客户网站免费网站免费优化优化
  • 网站手机版模板网站优化推广的方法
  • 做网站图片广告推广怎么忽悠人的深圳搜索seo优化排名
  • 任意的关键词或网站做引流长春网站优化平台
  • 百度网站名称最近的国际新闻
  • 常州网站建设公司巧誉友网络2345网址导航官网下载
  • 高中网站制作行业关键词词库
  • 网站关键词做的越多越好吗实时排名软件
  • 揭阳新站seo方案怎么注册一个自己的网站
  • php学完可以做网站关键词百度网盘
  • 杭州钱塘区网站建设搜索引擎营销策划方案
  • 台州做网站seo的seo推广是什么意思呢
  • o2o网站建设如何网络营销策划书1000字
  • 自己做企业网站直播营销的优势有哪些
  • 无锡网站建设推广公司怎么打广告宣传自己的产品
  • wordpress淘宝客网站武汉seo搜索引擎优化
  • 女装网站建设费用预算关键词挖掘查询工具爱站网
  • 国外科技网站欣赏百度快照投诉中心官网
  • app免费制作网站模板发布新闻最快的网站
  • 盐城z做网站室内设计培训哪个机构比较好
  • 网站编程学习怎么做网站推广多少钱
  • 如何给局域网 做网站全网网络营销推广
  • 淘宝网站可以做seo吗文山seo公司
  • 网站代建设费用网络seo外包
  • 网站建设确认书建立网站步骤