牛客编程巅峰赛钻石王者组第五场

牛客编程巅峰赛钻石王者组第五场

链接说明
我好菜啊,第三题完全没思路。

1. 滑动窗口双指针

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回符合题意的最长的子串长度
     * @param x string字符串 
     * @return int整型
     */
    public int Maximumlength (String x) {

        // write code here
        int n = 0;
        int p = 0;
        int y = 0;
        int l = 0;
        int r = 0;
        char[] chars = x.toCharArray();
        int len = chars.length;
        int maxLen = 0;
        while(r < len){
            char chr = chars[r];
            if(chr == 'n'){++n;}
            if(chr == 'p'){++p;}
            if(chr == 'y'){++y;}
            while(n * p * y != 0){
                if(chars[l] == 'n'){--n;}
                if(chars[l] == 'p'){--p;}
                if(chars[l] == 'y'){--y;}
                ++l;
            }
            maxLen = Math.max(maxLen, r - l + 1);
            ++r;
        }
        return maxLen;
    }
}

2. 后缀表达式求值

使用栈模拟:

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 给定一个后缀表达式,返回它的结果
     * @param str string字符串 
     * @return long长整型
     */
    public long solve (String str) {
        // write code here
        long res = 0;
        char[] chars = str.toCharArray();
        int len = chars.length;
        Deque<Long> stack = new ArrayDeque<>();
        long num = 0;
        for(int i = 0; i < len; ++i){
            char ch = chars[i];
            if(ch >= '0' && ch <= '9'){
                num = num * 10 + ch - '0';
            }else if(ch == '#'){
                stack.push(num);
                num = 0;
            }else{
                long a = stack.pop();
                long b = stack.pop();
                if(ch == '+'){
                    stack.push(a + b);
                }else if(ch == '-'){
                    stack.push(b - a);
                }else if(ch == '*'){
                    stack.push(a * b);
                }
            }
        }
        return stack.pop();
    }
}
#笔试题目#
全部评论
自顶向下,帮我点个赞吧,**的我做出两题不容易
1 回复 分享
发布于 2020-12-01 22:27

相关推荐

11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
评论
1
1
分享
正在热议
# 25届秋招总结 #
440109次浏览 4488人参与
# 春招别灰心,我们一人来一句鼓励 #
41383次浏览 524人参与
# 阿里云管培生offer #
119670次浏览 2219人参与
# 地方国企笔面经互助 #
7914次浏览 18人参与
# 虾皮求职进展汇总 #
113497次浏览 880人参与
# 实习,投递多份简历没人回复怎么办 #
2453743次浏览 34846人参与
# 北方华创开奖 #
107251次浏览 599人参与
# 实习必须要去大厂吗? #
55563次浏览 960人参与
# 同bg的你秋招战况如何? #
75265次浏览 549人参与
# 提前批简历挂麻了怎么办 #
149784次浏览 1977人参与
# 投递实习岗位前的准备 #
1195605次浏览 18546人参与
# 你投递的公司有几家约面了? #
33166次浏览 188人参与
# 双非本科求职如何逆袭 #
661802次浏览 7394人参与
# 机械人春招想让哪家公司来捞你? #
157587次浏览 2267人参与
# 如果公司给你放一天假,你会怎么度过? #
4717次浏览 54人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11266次浏览 263人参与
# 发工资后,你做的第一件事是什么 #
12368次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35546次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20072次浏览 240人参与
# 实习想申请秋招offer,能不能argue薪资 #
39211次浏览 314人参与
# 我的上岸简历长这样 #
451881次浏览 8088人参与
# 非技术岗是怎么找实习的 #
155831次浏览 2120人参与
牛客网
牛客企业服务