华为笔试的第二题是怎么回事?

字符串的扩展。我自己调试没有问题,提交答案就是不正确#华为##笔试题目#
全部评论
这个题要求逆序输出,leetcode没这个要求。 没考虑到逆序的肯定都是0,大家试试这个用例 huawei2(Test3[2{2(test)AA}]xy)z 注意逆序输出
点赞 回复 分享
发布于 2019-04-11 01:13
他是整个展开再翻转一次。递归展开即可。我ac了这题
点赞 回复 分享
发布于 2019-04-10 21:05
# 第二题,我是用栈做的。。。。 import java.util.Scanner; import java.util.Stack; public class Main {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         String s = sc.nextLine();         Stack<Character> st = new Stack<>();         char[] ch = s.toCharArray();         for(int i=0;i<ch.length;i++) {             if(ch[i] == ')' || ch[i]==']' || ch[i] == '}') {                 StringBuilder sb = new StringBuilder();                 while(st.peek() != '(' && st.peek()!='[' && st.peek()!='{') {                     char c = st.pop();                     sb.append(c);                 }                 st.pop();                 int count = Integer.parseInt(st.pop().toString());                 for(int k=0;k<count;k++) {                     for(int j=sb.length()-1;j>=0;j--) {                         st.push(sb.charAt(j));                     }                 }             }             else {                 st.push(ch[i]);             }         }         StringBuilder sb1 = new StringBuilder();         while(!st.isEmpty())             sb1.append(st.pop());         System.out.println(sb1.toString());     } }
点赞 回复 分享
发布于 2019-04-10 21:51
就过了第一题 好菜啊。。。。。
点赞 回复 分享
发布于 2019-04-10 21:10
public static void main(String[] args) {         Scanner in = new Scanner(System.in);         while (in.hasNext()) {             String s = in.nextLine();             StringBuilder sb = new StringBuilder();             helper(s, sb);             System.out.println(sb.toString());         }     }     private static void helper(String s, StringBuilder sb) {         int len = s.length();         int i = 0;         while (i < len && !(s.charAt(i) >= '0' && s.charAt(i) <= '9')) {             sb.insert(0, s.charAt(i));             i++;         }         if (i < len) {             int n = 0;             while (s.charAt(i) >= '0' && s.charAt(i) <= '9') {                 n = 10 * n + s.charAt(i) - '0';                 i++;             }             int t = i + 1;             int sum = 1;             while (sum != 0) {                 if (s.charAt(t) == '(' || s.charAt(t) == '[' || s.charAt(t) == '{') {                     sum += 1;                 }                 if (s.charAt(t) == ')' || s.charAt(t) == ']' || s.charAt(t) == '}') {                     sum -= 1;                 }                 t++;             }             for (int p = 0; p < n; p++) {                 helper(s.substring(i + 1, t - 1), sb);             }             if (t < s.length()) {                 helper(s.substring(t), sb);             }         }     } 华为笔试和拼多多面试冲突,我只写了一会,第二题其实马上就能调出来了上面我测试了一下我能想到的测试用例都是对的。
点赞 回复 分享
发布于 2019-04-11 10:19
为什么有的人就100%过了,那说明人家系统没问题,还是你代码有问题,
点赞 回复 分享
发布于 2019-04-11 09:00
题目上有提到中括号和大括号这两个词吗?想搞清楚是因为我没读题还是题没说清楚。
点赞 回复 分享
发布于 2019-04-10 21:44
我的也是,做的时候没有考虑括号的嵌套
点赞 回复 分享
发布于 2019-04-10 21:24
我的天 我一直以为和数***算一样,小括号和中括号优先级不一样。。。
点赞 回复 分享
发布于 2019-04-10 21:23
可以确定是中括号和大括号的问题了。凉凉
点赞 回复 分享
发布于 2019-04-10 21:22
我也调了很久,发现是中括号和大括号的问题
点赞 回复 分享
发布于 2019-04-10 21:14
import sys if __name__ == "__main__":     # 读取第一行的n     line = sys.stdin.readline().strip()         # 把每一行的数字分隔后转化成int列表     data = list(map(str, line.split()))     #data=list(input().split())     new_data=[]     if len(data)==1:         print(0)              for i in range(1,len(data)):             #有几组8位数         m=int(len(data[i])/8)             #还剩几位数         n=int(len(data[i])%8)         if m>=1 and n>=1:             for j in range(m):                 new_data.append(''.join(sorted(data[i][8*j:8*j+8])))             new_data.append(''.join(sorted(data[i][-n:]))+'0'*(8-n))         elif m>=1:             for j in range(m):                 new_data.append(''.join(sorted(data[i][8*j:8*j+8])))         elif n>=1:             new_data.append(''.join(sorted(data[i][-n:]))+'0'*(8-n))     new=sorted(new_data)     for i in new:         print(i) 大家能帮我看一下我的这段代码出错在哪里了吗?心里好郁闷,一直不能通过,是不是最后输出格式有问题啊
点赞 回复 分享
发布于 2019-04-10 21:12
2.9091 https://www.nowcoder.com/discuss/175998?type=0&order=0&pos=6&page=0
点赞 回复 分享
发布于 2019-04-10 21:10
不懂,在本地通过了,上机就是0%。。。
点赞 回复 分享
发布于 2019-04-10 21:09
我也是啊,我想了半天可能不对的情况,比如:括号里嵌套多个括号;数字不止一位;倒序是指从后往前,括号的正常扩展,其他的倒序;还有输入为空。我全都改过了,全试了,测试什么问题没有,但是就是通过0%,我有什么还没想到的么?
点赞 回复 分享
发布于 2019-04-10 21:08
想知道第一题怎么做……我不管怎么做都只有40% case通过……哭了
点赞 回复 分享
发布于 2019-04-10 21:07
最后一题地图的动态规划怎么做啊,我dfs超时只过了68%
点赞 回复 分享
发布于 2019-04-10 21:06
加1,
点赞 回复 分享
发布于 2019-04-10 21:06
我也是,然而我知道自己错了,我刚开始想得简单了,没有考虑到嵌套的问题,后来想一想可能要用递归什么的。哎!凉凉了
点赞 回复 分享
发布于 2019-04-10 21:05
最后一题有么有一直百分之四十五的 感觉就dfs就行,也没啥坑啊...
点赞 回复 分享
发布于 2019-04-10 21:05

相关推荐

06-27 15:29
门头沟学院 Java
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务