首页 > 技术文章 > 2018/3/22 美团在线笔试 编程题

mgz- 2018-03-23 16:12 原文

编程题:给一些‘0'~'9'字符,求不能组成的最小正整数

  我说一下方法吧,记录每个字符出现次数,找到出现次数最小的那个字符a,次数为c。

  如果最小次数字符不唯一,按照'1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'0'的优先顺序选择一个。

  1.如果那个字符不是'0',答案就是c+1个a。比如是'2',出现了3次,答案就是2222。

  2.如果那个字符是'0',答案就是1接c+1个。比如是'0',出现了3次,答案就是10000。

 

编程题:给你两个串|S1|>=|S2|,求S2匹配所有S1子串的距离和。

  因为就a,b两个字符,sum[N][2]记录S1的a,b出现次数的前缀和。

  遍历S2的字符,去查询S1相应区间该字符的出现次数,再减一下就是不同次数。

推荐阅读