LeetCode75——Day26

2023-11-05 11:36
文章标签 leetcode75 day26

本文主要是介绍LeetCode75——Day26,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、题目
    • 二、题解

一、题目

394. Decode String

Given an encoded string, return its decoded string.

The encoding rule is: k[encoded_string], where the encoded_string inside the square brackets is being repeated exactly k times. Note that k is guaranteed to be a positive integer.

You may assume that the input string is always valid; there are no extra white spaces, square brackets are well-formed, etc. Furthermore, you may assume that the original data does not contain any digits and that digits are only for those repeat numbers, k. For example, there will not be input like 3a or 2[4].

The test cases are generated so that the length of the output will never exceed 105.

Example 1:

Input: s = “3[a]2[bc]”
Output: “aaabcbc”
Example 2:

Input: s = “3[a2[c]]”
Output: “accaccacc”
Example 3:

Input: s = “2[abc]3[cd]ef”
Output: “abcabccdcdcdef”

Constraints:

1 <= s.length <= 30
s consists of lowercase English letters, digits, and square brackets ‘[]’.
s is guaranteed to be a valid input.
All the integers in s are in the range [1, 300].

二、题解

class Solution {
public:string decodeString(string s) {string ans;stack<pair<int, int>> stk;int count = 0;for (auto x : s) {if (isdigit(x)) count = 10 * count + (x - '0');else if (x == '[') {stk.push({count, ans.size()});count = 0;}else if (isalpha(x)) ans += x;else if (x == ']') {int n = stk.top().first;string str = ans.substr(stk.top().second, ans.size() - stk.top().second);for (int i = 0; i < n - 1; i++) {ans += str;}stk.pop();}}return ans;}
}; 

这篇关于LeetCode75——Day26的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349584

相关文章

代码训练营 Day26 | 47.排序II | 51. N-皇后 |

47.排序II 1.跟46题一样只不过加一个树层去重 class Solution(object):def backtracking(self,nums,path,result,used):# recursion stopif len(path) == len(nums):# collect our setresult.append(path[:])return for i in range(

刷题DAY26

多项式求和 题目:多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...现在请你求出该多项式的前n项的和 输入:输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<=1000),求该多项式的前n项的和 输出:对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,

【JAVA入门】Day26 - Lambda表达式

【JAVA入门】Day26 - Lambda表达式 文章目录 【JAVA入门】Day26 - Lambda表达式一、函数式编程二、Lambda表达式的省略写法         Lambda表达式在代码中最常用的功能就是简化匿名内部类的书写。 Ingeger[] arr = {2, 3, 1, 5, 6, 7, 8, 4, 9};Arrays.sort(arr, new

代码随想录算法训练营day26|39. 组合总和、40. 组合总和||、8.分割回文串

39. 组合总和 由题意可知,数组中的每一个数都可以重复相加,因此我们在绘制树形图的时候,每次取完某一个数,下一次回溯的时候还可以用该数,比如2、3、6,每次取完2,候选还剩2、3、6。而最后答案也确实是2、2,所以2每次取完不能排除。 另外对于存储满足条件结果的path,每次从纵向的回溯过程出来之后,要将这一层回溯加进去的值减掉给横向的循环的下一个值腾出空间,一边进入下一个值的回溯。同时要给一

Day26 - Day30

Day26 - Day30 Day26(1999年Text3) Very few writers on the subject have explored this distinction – indeed, contradiction – which goes to the heart of what is wrong with the campaign to put computers

day26-单元测试

1. 单元测试Junit 1.1 什么是单元测试?(掌握) 1.2 Junit的特点?(掌握) 1.3 基本用法:(掌握) 实际开发中单元测试的使用方式(掌握) public class TestDemo {public int addMethod(int a,int b){return a+b;}} public class Main {@Testpublic

Day26

Day26 注解 什么是注解 java.annotation包Annotation是从JDK1.5开始引入的新技术,注解即可以对程序员解释又可以对程序解释 注解与注释的区别 注释:对程序员解释代码信息注解:对程序和程序员解释代码信息 注解的所用 不是程序本身,可以对程序作出解释(与注释(comment)类似)2. 可以被其他程序(编译器)读取 注解的格式 注解是以“@注释名”在代码中存在的,

Wpf 使用 Prism 实战开发Day26

首页待办事项编辑和完成以及备忘录编辑功能 当用户双击待办事项或备忘录的时候,希望能进行编辑待办事项及备忘录的功能 一.在IndexView.xaml 视图,为待办和备忘录添加双击编辑功能 1.首先引入一个 behaviors 命名空间,用于进行处理鼠标双击事件的交互 xmlns:i="http://schemas.microsoft.com/xaml/behaviors" 2.在Li

【leetcode75】Intersection of Two Arrays(数组的交集)

题目描述: 给定两个数组求他们的公共部分,输出形式是数组,相同的元素只是输出一次 例如: nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. 原文描述: Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1,

FME学习之旅---day26

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 【由于上周,上班状态不是很好,事情多又杂,没有学习的劲头,就短暂的休息了一下下。双休爬山,给自己上了强度,今天才缓过来,下周又是五一了,估计要到五一后过渡一下,学习的劲头又能恢复了】 教程:JSON 入门 本教程系列概述了如何使用 FME 读取、写入和转换 JSON 数据。 【由于工作的需要,会频繁的使用到json文件中存储的wkt