FB 电面面经

作者: Anseis | 来源:发表于2018-09-13 10:26 被阅读0次

a----abbbbc -> ++++++++++c

把所有连续相同字母改成加号

同时dash 两侧如果有相同字符,则也整体变为加号

  static String method(String s) {
    char[] cs = s.toCharArray();
    for (int i= 0; i < cs.length; i++) {
      if (cs[i] == '-') {
        int start = i;
        int j = i;
        while (j < cs.length && cs[j] == '-') {
          j++;
        }
        if (j < cs.length && start-1 >= 0 && cs[start-1] == cs[j]) {
          change(cs, i, j-1, cs[j]);
        }
        i = j;
      }
    }
    int index = 0;
    
    while (cs[index] =='-') {
      index++;
    }
    if (index >= cs.length) {
      return new String(cs);
    }
    char c = cs[index];
    int cnt = 1;
    for (int i = index+1; i < cs.length; i++) {

      if (cs[i] == c) {
        cnt++;
        if(i == cs.length-1) {
          change(cs, i-cnt+1, i, '+');
        }
      } else {
        if(cnt>1) {
          change(cs, i-cnt, i-1, '+');
        }
        
        if (cs[i] !='-') {
          c = cs[i];
          cnt = 1;
        } else {
          while (i < cs.length && cs[i] == '-') {
            i++;
          }
          if (i < cs.length) {
            c = cs[i];
            cnt = 1;
          }
        }
      }
      
    }
    return new String(cs);
  }
  static void change(char[] cs, int s, int e, char c) {
    for (int i = s; i <= e; i++) {
      cs[i] = c;
    }
  }

相关文章

  • FB 电面面经

    a----abbbbc -> ++++++++++c 把所有连续相同字母改成加号 同时dash 两侧如果有相同字符...

  • FACEBOOK SOFTWARE ENGINEER 电面面经

    前不久刚刚面试了Facebook,面试的岗位是软件工程师。很有幸通过了facebook的电面,所以来分享一下电面的...

  • 字节跳动后端实习电面面经

    这次电面是本人第一次求职面试,面试过程中也有一些问题答不上来或需要提示才能答出,但整体答题较为流畅,运气尚佳通过了...

  • xiaonanan哈密顿回路篇

    杭电 3018father[fa]=fb,写成father[a]=fb;难受,是真的难受弄错了,搞了我几个小时,还...

  • 拼多多电商产品经理3面面经

    【一面】52min 1、自我介绍 2、详细描述一下之前的项目经历 3、问case细节 4、遇到的困难 怎么克服的?...

  • fb 电面 展开层级链表

    都是O(n)第一种逐层 第二种中间插入,使用栈

  • 阿里一二面面经

    【每日一语】有时候我想成为别人,有时候我觉得自己是在为没有可能去好好享受的另一个人生去奋斗,所以我希望它能有价值。...

  • 快手一二面面经

    一面(一个小时十分钟) 1. 自我介绍 2.具体聊聊Python和Java的区别 3聊聊Spring,主要IOC等...

  • 腾讯暑期实习三面面经

    回馈社会,腾讯暑期实习三面面经,正在等hr面试。。。 3.16 晚上8点 一面 电面 40分钟 1.自我介绍 2....

  • FB 面经 Preorder to Binary Search

    常规思路是第一个为根,然后找到第一个大于他和第一个小于他的数,这两个分别为新的两个根,call 递归, O(n^2...

网友评论

    本文标题:FB 电面面经

    本文链接:https://www.haomeiwen.com/subject/smtwgftx.html