gpt4 book ai didi

java - CodeJam 的嵌套深度 - 已解决提示,但需要连接字符串 - 程序在输出中返回 "Case # :"

转载 作者:行者123 更新时间:2023-12-01 17:36:09 26 4
gpt4 key购买 nike

我无法添加/我不确定在哪里添加“Case #:”等字符串作为嵌套深度提示。我一直在尝试添加它,但无论我做什么,我都会在代码中创建错误。如果可以的话请帮忙。 xx

提示如下:问题tl;dr: 给定一个数字字符串 S,在其中插入最少数量的左括号和右括号,使得结果字符串是平衡的,并且每个数字 d 恰好位于 d 对匹配括号内。

设字符串中两个括号的嵌套为严格出现在它们之间的子字符串。如果左括号和右括号的嵌套为空,或者嵌套中的每个括号都与嵌套中的另一个括号匹配,则称左括号和右括号匹配。位置 p 的嵌套深度是使 p 包含在 m 的嵌套中的匹配括号 m 的对数。

例如,在以下字符串中,所有数字都与其嵌套深度匹配:0((2)1), (((3))1(2)), ((((4)))), (( 2))((2))(1)。前三个字符串在具有相同顺序的相同数字的字符串中具有最小长度,但最后一个字符串不是,因为 ((22)1) 也有数字 221 并且更短。

给定一个数字字符串 S,找到另一个由括号和数字组成的字符串 S',这样:S' 中的所有括号都与其他括号匹配,从 S' 中删除所有括号都会得到 S,S' 中的每个数字都等于其嵌套深度,并且S' 具有最小长度。

这些是输入以及结果输出 - 我的代码(下面)缺少 Case #1: Case #2: 等部分

输入400001011110001

输出案例#1:0000案例#2:(1)0(1)案例#3:(111)000案例#4:(1)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;

class Solution
{
public static void main(String[] args) throws NumberFormatException, IOException
{




BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for (int tt = 0; tt < t; tt++)
{
String s = br.readLine();
int n = s.length();
int brac=0;
StringBuilder sb = new StringBuilder();
for(int i=0;i<n;i++)
{
int val = s.charAt(i)-48;
if(val==brac)
{
sb.append(s.charAt(i));
}
else if(val>brac)
{
int diff = val-brac;
sb.append(generateOpenBraces(diff)).append(s.charAt(i));
brac = brac+diff;
}
else
{
int diff = brac-val;
sb.append(generateCloseBraces(diff)).append(s.charAt(i));
brac=brac-diff;
}
}
if(brac>0)
{
sb.append(generateCloseBraces(brac));
}
System.out.println(sb.toString());

}
System.exit(0);
}

public static String generateOpenBraces(int n)
{
return String.join("", Collections.nCopies(n, "("));
}
public static String generateCloseBraces(int n)
{
return String.join("", Collections.nCopies(n, ")"));
}


}























最佳答案

只需将 System.out.println(sb.toString()) 更改为 System.out.println("Case #"+ tt + ": "+ sb.toString() );

关于java - CodeJam 的嵌套深度 - 已解决提示,但需要连接字符串 - 程序在输出中返回 "Case # :",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61036083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com