高职网站建设专业书贵安新区网站建设

张小明 2025/12/20 17:01:18
高职网站建设专业书,贵安新区网站建设,邯郸市递加网络有限公司,网站建设华科技给一个字符串#xff0c;他按一定规律进行编码#xff0c;对他进行解码#xff0c;具体就不解释了#xff0c;不过有个还需要知道#xff0c;编码的字符串时有嵌套的情况的 比如 33[aa33[aa]] 这样 算法思想 a3[a]2[bc] 对这个字符串解码 那么会有这俩中情况 cur表示遍历…给一个字符串他按一定规律进行编码对他进行解码具体就不解释了不过有个还需要知道编码的字符串时有嵌套的情况的 比如 33[aa33[aa]] 这样算法思想a3[a]2[bc]对这个字符串解码 那么会有这俩中情况 cur表示遍历到的数组下标cur为字母直接拼接到放回需要放回的字符串上如果为数字那么之后的字符就会设计到解码了而者解码就涉及了三步1 获取到数字 字符串解码的次数 x2 获取到字符串3 将字符串复制 x 次之后将解码好的字符串拼接到最终结果中如果不涉及到嵌套的解码话那么以上这样就已经能够解决了额但是是有这种情况的所以解码方法中也会涉及到相同的解码逻辑这就可以使用递归了所以 解码方法的具体逻辑应该时这样// 获取到解码次数// 获取到字符串 - 判断是否有数字有 递归 解码没有 正常逻辑// 复制字符串// 放回解码好的字符串大的方向就是这样但是还涉及到几个细节问题1. 最重要的 字符串的遍历问题 因为在递归中下标时不共享的那么不知道当前已经递归到哪个下标方法一 可以将 返回值改为 单枪递归完的下标把复制好的额字符串给作为全局变量这样在方法中 把复制的字符串给评到全局变量中但是又因为涉及到递归的原因这个全局变量拼接时会是反者的 具体来说是这样 2[aa1[bb]] - bbaabbaa 因为他是从尾巴添加嘛导致解码字符串顺序乱了而且这样还会涉及到当前 ] 是谁的的问题需要对放回的下标 这样下标会跳跃起来变得不可控和复杂所以这样是不行的 这是我第一次写的 没过 方法二 既然会又字符串的顺序问题那么就可以让他放回字符串将放回的字符串又拼接到当前的需要复制的字符串后就解决了那下标的问题呢 那就让下标改为全局的正好这个下标也是不会回退一个一个的遍历整个字符串很适合且这样还可以少了解决 ] 和 下标跳跃的事能解决2 字符串的拼接既然已经确定使用一个全局的下标遍历和放回解码好的字符串那么其实者就很简单了因为会将字符串放回所以只需要一个作用域是方法的字符串就来拼接需要解码方法放回的字符串就行其实只需要把第一个想出来那么这题就很明朗了 尤其是放回解码好的字符串之前想的是放回下标来解决方法之间的下标问题这样下标会跳着走特别麻烦和不可控代码实现// 全局的遍历下标 int cur 0; public String decodeString(String s) { StringBuilder ans new StringBuilder(); for (; cur s.length(); cur) { if (s.charAt(cur) 0 s.charAt(cur) 9) { ans.append(dfs(s)); } else if (s.charAt(cur) a s.charAt(cur) z) { ans.append(s.charAt(cur)); } } return ans.toString(); } // dfs 表示处理一次3[ab] 的操作 cur 是第一次遇到了数字 返回的是]的下标 // cur开始这个位置可能 会有嵌套的 那么需要第字符串原地的修改 可以使用insert来对index位置插入字符串 // 这个储存最终要复制的字符串 StringBuilder dfs(String s) { // 当前的解码字符串 StringBuilder curCopy new StringBuilder(); //获取到数字 int prev cur; while (s.charAt(cur) 0 s.charAt(cur) 9) cur; String times s.substring(prev, cur); // System.out.println(循环次数 times p prev c cur); //获取到复制字符串 这里cur应该是[ prev cur 1; while (s.charAt(cur) ! ]) { // 为数字说明嵌套了 if (s.charAt(cur) 0 s.charAt(cur) 9) { curCopy.append(dfs(s)); // System.out.println(嵌套str curCopy); } else if (s.charAt(cur) a s.charAt(cur) z) { curCopy.append(s.charAt(cur)); } cur; } // System.out.println(找到复制的字符串 curCopy p prev c cur); // 循环添加 String tmp curCopy.toString(); for (int i 0; i Integer.parseInt(times) - 1; i) { curCopy.append(tmp); } // System.out.println( 当前的解码字符串 curCopy p prev c cur times); return curCopy; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

中山网站方案宁波seo服务推广软件

在Ubuntu系统中查询显卡的生产日期,最核心且可靠的方法是找到显卡上的SN码(序列号),然后通过特定规则解读或官网查询。由于Ubuntu没有像Windows那样直接显示生产日期的图形化工具,命令行也无法直接获取此信息&#xff…

张小明 2025/12/20 19:18:26 网站建设

怎么用div布局做网站西安做网站 送百度首页

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向新手的Nginx命令交互式学习应用,功能包括:1) 分步骤动画演示命令执行过程 2) 安全沙箱环境供实操练习 3) 常见错误模拟与解决方法 4) 渐进式学习…

张小明 2025/12/19 16:39:04 网站建设

河北网站建设多少钱wordpress 订单系统

Docker进阶:从任务管理到高级配置 容器资源与任务管理 容器实例的输出信息包含了已注册资源和剩余资源。在多实例的情况下,这些信息能帮助服务决定在集群中部署容器的位置。 当容器集群启动并运行后,就需要创建至少一个任务定义。任务定义指的是将一组容器组合在一起。以…

张小明 2025/12/20 18:45:59 网站建设

网站开发都做些什么网页设计表单注册代码

在一些安全讨论里,“IPA 深度混淆”这个词经常被提到,但真正落到工程实践时,不同团队对它的理解差异很大。 有人把它等同于“混淆得更狠一点”,也有人认为这是某种“高强度黑科技”。 从我接触过的项目来看,IPA 深度混…

张小明 2025/12/20 18:25:45 网站建设

国外做伞的品牌网站wordpress主题瀑布流

Wan2.2-T2V-A14B在时尚走秀视频生成中的风格迁移能力 你有没有想过,一条裙子还没缝完第一针,就已经走上巴黎高定时装周的T台?✨ 这听起来像科幻片的情节,但今天,借助 Wan2.2-T2V-A14B,这正变成现实。 在虚拟…

张小明 2025/12/20 16:43:51 网站建设

哪些网站可以做画赚钱手工制作方法

网络安全综合指南 在当今数字化时代,网络安全至关重要。本文将详细介绍网络安全中的多个关键方面,包括文件访问控制、网络服务管理、文件传输协议以及电子邮件安全等内容。 1. 文件访问控制相关文件 hosts.equiv 文件 :在本地系统中,若使用相同登录名,无需密码即可访问…

张小明 2025/12/20 16:52:08 网站建设