携程笔试思路

第一题:
static ListNode partition(ListNode head,int m) {
        //思路:用小链表连接大链表,遍历一遍即可
        ListNode small = new ListNode(-1020);
        ListNode smallStart = small;
        ListNode big = new ListNode(-1020);
        ListNode bigStart = big;
        while (head != null) {
            if(head.val <= m) {
                small.next = head;
                small = small.next;
            } else {
                big.next = head;
                big = big.next;
            }
            head = head.next;
        }
    //把大链表的尾部置为null
        big.next = null;
    //链接小链表和大链表
        small.next = bigStart.next;

        return smallStart.next;
    }

第二题:
static String resolve(String expr) {
        //先检查左右括号个数
        int lC = 0 ;
        int rC = 0 ;
        Stack<Character> stack = new Stack();
        char[] chars = expr.toCharArray();
        for (int i = 0;i < chars.length;i++) {
            if (chars[i] == '(') lC++;
            else if(chars[i] == ')')rC++;
        }
        if(lC != rC) return "";
        //利用栈的特性来翻转,如果没遇到)就一直装到栈中,遇到)就一直pop直到把第一个(pop出来,这期间pop出来的字符装到tmp尾部,
        //再把tmp字符串按顺序装回栈里即可
        String res = "";
        for (int i = 0; i < chars.length; i++) {
            String tmp = "";
            if (chars[i] != ')') {
                stack.add(chars[i]);
            } else {
                if (stack.empty()) return "";
                while (stack.peek() != '(') {
                    tmp += stack.pop();
                    if (stack.empty()) return "";
                }
                stack.pop();
                for (int j = 0;j < tmp.length(); j++) {
                    stack.push(tmp.charAt(j));
                }
                if (i == chars.length-1) {
                    res = tmp;
                }
            }
        }
        return res;
    }
只过了71%。。 有点差错找不出来

第三题:
小菜鸡做法:判断特殊情况如果机器数量大于等于任务总数,那么最短时间就是遍历任务后最大的那个任务的时间,这样能拿57%。。。
#携程##笔试题目#
全部评论
***,第三题这么神奇
点赞 回复 分享
发布于 2019-09-04 21:27

相关推荐

宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:47
机械打工仔:你自己匿名可以,这么好的公司就别给它匿名了
点赞 评论 收藏
分享
评论
3
3
分享

创作者周榜

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