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

modernize wordpressaso搜索排名优化

modernize wordpress,aso搜索排名优化,河北工程建设信息网,广告设计图片网站一、题目描述 给定一个字符串 s 表示一个整数嵌套列表#xff0c;实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。 列表中的每个元素只可能是整数或整数嵌套列表 示例 1#xff1a; 输入#xff1a;s 324, 输出#xff1a;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^4s 由数字、方括号 []、负号 - 、逗号 ,组成用例保证 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));}// 如果以[开头则表示是一个嵌套列表StackNestedInteger 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://www.hkea.cn/news/14361407/

相关文章:

  • 汉川做网站黄页88网站推广怎么样
  • 我做网站价格网站建设带数据库模板
  • wordpress weixinseo的中文意思是什么
  • 忻州网络公司网站建设制作小程序和网站的公司
  • 网站开发 后端河间专业做网站电话
  • 网站建设全网推广小程序山东移动网站建设
  • 内部网站做域名解析到端口有专业设计网站吗
  • 章丘营销型网站设计公司天津seo招聘
  • 网站如何做sem优化如何对网站建设和维护
  • 百度做网站多少钱html网页 wordpress
  • 做网站图片教程营销网站建设评估及分析
  • 网站摄影设计江门网站推广技巧付费
  • 河南营销网站建设联系方式孝感房地产网站建设
  • 新网站百度有审核期南京建设工程质量监督站网站
  • 网站建设三站合一微信小程序域联网站建设
  • 东莞莞城网站建设公司青岛手机端建站模板
  • 郑州网站建设白杨网络小程序定制开发要多少钱
  • 用html制作网页seo销售是做什么的
  • 做网站不会写代码番禺建设银行网站
  • 大连网站设计报价网站建设项目体会
  • 成都网站公司建设wordpress怎么换中文字体
  • 网站安全建设目的是什么河北专业网站建设
  • 银川建网站那家好个人做网站需要资质吗
  • 写网站编程需要什么网站标题上的小图标怎么做的
  • 江苏网站建设工作室做外贸需要具备什么条件
  • 嘉定企业网站建设wordpress增加内存分配给php
  • 卢松松网站模板wordpress插件+手机版
  • 高效网站建设公司凡科互动小游戏辅助
  • 国内做的好的电商网站有哪些良品铺子的网站建设目标
  • 优秀网站设计wordpress七牛云图床