楼主: momo__
跳转到指定楼层
上一主题 下一主题
收起左侧

GOOGLE 二面面经

🔗
夜辉冥 2016-3-16 07:17:24 | 只看该作者
全局:
感觉不用DP呀  我这么写的 不知道对不对


def chunked(parlin):
    result = 0
    length = len(parlin)
    mid = (1+length)/2 -1
    tail , head = 0, 0
    while tail <= mid:
        if tail == mid:
            result += 1
            tail += 1
        else:
            if parlin[head:tail+1] == parlin[length-tail-1:length-head]:
                head= tail+1
                tail = tail +1
                result += 2
            else:
                tail += 1
    return result
回复

使用道具 举报

🔗
bobzhang2004 2016-3-31 12:06:47 | 只看该作者
全局:
请问楼主最后onsite了吗?
回复

使用道具 举报

🔗
 楼主| momo__ 2016-4-1 05:00:54 | 只看该作者
全局:
bobzhang2004 发表于 2016-3-31 12:06
请问楼主最后onsite了吗?

没有,跪了
回复

使用道具 举报

🔗
cx101220012 2016-4-1 14:11:02 | 只看该作者
全局:
lyudison 发表于 2015-11-24 01:34
写了一个时间复杂度O(n^2)的
int countMaxChunks(string str) {
  int count = 0;

如果是 odd string 最后的if(i==j)可以合并到prev_i<=prev_j吧
回复

使用道具 举报

🔗
readman 2016-6-3 23:57:27 | 只看该作者
全局:
see_you2012 发表于 2016-1-28 11:45
写了一个递归的,改成迭代的也不难,有问题请指出~
int countChunk(string input) {
        if (input.length( ...

我看了一圈, 就你这个对..结果你              
  return 2+ chunkNum(s.substring(i,s.length()-i)); <--这个为什么多个2*i
回复

使用道具 举报

🔗
mdyuki1016 2016-6-19 07:43:58 | 只看该作者
全局:
试着写了一下, 双指针, On 时间复杂度. 可能会有conner case, 但是上面大家例子,都可以通过.

   
    public static int chunkedPalindrome(String s) {
        int l = 0, r = s.length() -1;
        int count = 0;
        while (l <= r) {
            if (s.charAt(l) == s.charAt(r)) {
                if (l == r) count+=1;
                else count +=2;
                l++;
                r--;
            } else {
                int pl = l, pr = r;
                while (l < r && !s.substring(pl,l+1).equals(s.substring(r,pr+1))) {
                    l++;
                    r--;
                }
                if (l < r) count+=2;
                else count+=1;
                l++;r--;
            }
        }
        return count;
    }
回复

使用道具 举报

🔗
phantom 2016-6-19 11:09:12 | 只看该作者
全局:
mdyuki1016 发表于 2016-6-19 07:43
试着写了一下, 双指针, On 时间复杂度. 可能会有conner case, 但是上面大家例子,都可以通过.

   

嗯。。感觉这个是对的呢。。就是贪心的思路,尽可能的把前后的字符串匹配上。。这样就能产生最多的chunk。。
回复

使用道具 举报

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

本版积分规则

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