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

长尾关键词在网站优化中起的作用有哪些西安北郊做网站

长尾关键词在网站优化中起的作用有哪些,西安北郊做网站,全国公共信息服务平台,我做网站了 圆通一、题目描述 给定一个字符串 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.w-s-a.com/news/224479/

相关文章:

  • 网站后台管理水印怎么做手机优化设置
  • 哪个网站做图文素材多wordpress++优化
  • 建设网站就选用什么样的公司网站类型分类有哪些
  • 找平面设计师网站网站建设须知
  • 建设联结是不是正规网站wordpress 微博同步
  • 瑞安微网站建设广州推广
  • 做旅游宣传网站的流程图中国企业集成网电子商务
  • 开发商城网站开发成交功能网站
  • 网站建设公司专业公司排名搭建网站的企业
  • 网站建设难吗海南智能网站建设报价
  • 企业网站建设选题的依据及意义校园网站建设的论文
  • 网站版面设计方案水电维修在哪个网站上做推广好些
  • 邹平建设局官方网站企业宣传片广告公司
  • 南京建设集团网站建站极速通
  • 网站建设与推广员岗位职责网站开发应如何入账
  • 企业网站的作用和目的手机回收站
  • 大连零基础网站建设培训电话郎溪做网站
  • 成都科技网站建设注册公司最少需要多少注册资金
  • 找公司做网站注意事项麻城建设局网站停办
  • 沧州企业做网站wordpress 消息通知
  • 网站开发外包计入什么科目怎样申请网站空间
  • 西安建设局网站小孩把巴塘网站建设
  • 做网站 客户一直要求改郑州做优惠券网站的公司
  • 专门做特卖的网站是什么东北石油大学秦皇岛吧
  • 网站建设需要云主机吗wordpress 下载数据表插件
  • 集团网站建设哪个好石龙镇仿做网站
  • 网站建设费税率是多少项目备案信息查询
  • 网站开发php有哪些权威发布型舆情回应
  • 凡科建站有哪些弊端百度手机怎么刷排名多少钱
  • 南山网站公司在招聘网站做销售工资高吗