📣 独立日限时特惠: VIP通行证立减$68
楼主: realhly88
跳转到指定楼层
上一主题 下一主题
收起左侧

脸书电面+onsite

 
🔗
qq274880049 2017-12-20 17:33:08 | 只看该作者
全局:
求问一下,楼主,move zero那题,还能想起来怎么回答的吗? 我仔细想了一下, 思路就是如果不要维持原来的顺序,那就swap,能够是的操作量最小。 如果要维持原顺序就assign,那么操作量完全数组是什么形式了,最坏情况就是整个数组每个element都要被修改。
回复

使用道具 举报

🔗
chenlijie 2017-12-23 05:38:28 | 只看该作者
全局:
字符串比较,我有下面这种解法。欢迎点评:
int isGreatThan(String s1, String s2) {
        int i1 = 0;
        int i2 = 0;
        int len1 = s1.length();
        int len2 = s2.length();

        while (i1 < len1 && i2 < len2) {
            char c1 = s1.charAt(i1);
            char c2 = s2.charAt(i2);

            //find any alphabet
            if (Character.isAlphabetic(c1) || Character.isAlphabetic(c2)) {
                if (Character.isDigit(c1)) {
                    return 1;
                } else if (Character.isDigit(c2)) {
                    return -1;
                } else if (c1 != c2) {
                    return c1 - c2 > 0 ? 1 : -1;
                }
            } else {
                int j1 = i1;
                while (j1 < len1 && Character.isDigit(s1.charAt(j1))) j1++;

                int j2 = i2;
                while (j2 < len2 && Character.isDigit(s2.charAt(j2))) j2++;

                int res = compareNumString(s1, i1, j1, s2, i2, j2);
                if (res > 0) {
                    return 1;
                } else if (res < 0) {
                    return -1;
                }
            }
            i1++;
            i2++;
        }

        return i1 != len1 ? 1 : i2 != len2 ? -1 : 0;
    }

int compareNumString(String s1, int i1, int j1, String s2, int i2, int j2) {
        //skip 0
        while (i1 < j1 && s1.charAt(i1) == 0) i1++;
        while (i2 < j2 && s2.charAt(i1) == 0) i2++;

        if (j1 - i1 > j2 - i2) {
            return 1;
        } else if (j1 - i1 < j2 - i2) {
            return -1;
        }

        while (i1 < j1) {
            if (s1.charAt(i1) > s2.charAt(i2)) {
                return 1;
            } else if (s1.charAt(i1) < s2.charAt(i2)) {
                return -1;
            }
            i1++;
            i2++;
        }
        return 0;
    }
回复

使用道具 举报

🔗
tm1234 2017-12-23 07:17:48 | 只看该作者
全局:
请问lz第一题是面试官要求用minheap的吗?
回复

使用道具 举报

🔗
tm1234 2017-12-23 07:29:48 | 只看该作者
全局:
还有二面第一题比暴力更好的方法要怎么样做呀, 是backtrack加上剪枝吗?多谢lz啦!
回复

使用道具 举报

🔗
a150197 2017-12-25 02:22:05 | 只看该作者
本楼:
全局:
感恩分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表