携程笔试

import sys
from collections import Counter
string = input()
cnt = Counter(string)
new = {
    'y': cnt['y'],
    'o': cnt['o'],
    'u': cnt['u']
}
nums = min(new.values())
res = 'you' * nums
for k, v in cnt.items():
    if k in 'you' and v > nums:
        # print(k,v)
        res += str(k) * (v-nums)
    elif k not in 'you':
        res += str(k) * v
print(res)
# 暴力会超时间,用正反序前缀和,空间换时间
import sys
n = int(input())
nums = list(map(int, input().split()))
sorted_nums = sorted(nums)
left = [0] * n
cum = 0
for i in range(n):
    cum += sorted_nums[i]
    left[i] = cum
right = [0] * n
cum = 0
for i in range(n-1, -1, -1):
    cum += sorted_nums[i]
    right[i] = cum
hashmp = dict()
for i in range(n):
    if sorted_nums[i] in hashmp:
        continue
    if i > 0:
        ops_left = sorted_nums[i] * i - left[i-1]
    else:
        ops_left = 0
    
    if i < n-1:
        ops_right = right[i+1] - sorted_nums[i] * (n-i-1)
    else:
        ops_right = 0
    
    hashmp[sorted_nums[i]] = ops_left + ops_right
for i in nums:
    print(hashmp[i])
import sys
import re
array = input()
new_pairs = re.findall(r'([-\d]+)\(([\d]+)\)', array)
res = '['
i, n = 0, len(new_pairs)
while i < n:
    key = new_pairs[i][0]
    val = int(new_pairs[i][1])
    idx = i + 1
    while idx < n and new_pairs[idx][0] == key:
        val += int(new_pairs[idx][1])
        idx += 1
    i = idx
    if i != n:
        res += str(key)+'('+str(val)+')'+',' 
    else:
        res += str(key)+'('+str(val)+')'+']' 
    
print(res)

#携程##算法##笔试#
全部评论
第二题换成前缀和也超了崩溃
1 回复
分享
发布于 03-13 21:01 江苏
最后一题什么思路呀
点赞 回复
分享
发布于 03-13 20:49 北京
滴滴
校招火热招聘中
官网直投
携程没给机会笔试哎
点赞 回复
分享
发布于 03-13 21:20 广东
方便问下楼主投的什么岗位吗
点赞 回复
分享
发布于 03-16 13:21 湖南
携程不是测评吗?还是说测评+笔试?
点赞 回复
分享
发布于 03-18 12:29 广东
楼主,笔试是四道编程题?有没有额外的八股题?单选题之类的?
点赞 回复
分享
发布于 03-26 16:33 江苏

相关推荐

3 15 评论
分享
牛客网
牛客企业服务