腾讯社招笔试加面试
程序员文章站
2022-06-04 16:54:28
...
笔试(每题40分钟,不能调试!!!):
- 输出:
输入n,输出方阵,
n=5时如下
0 0 0 0 5
0 0 0 6 4
0 0 7 14 3
0 8 15 13 2
9 10 11 12 1
n=3时如下
0 0 3
0 4 2
5 6 1
始终调不对,望大佬解决,留下评论。
- 大整数减法
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ***************************************************************************
#
# Copyright (c) 2017 ByteDance.com, Inc. All Rights Reserved
#
# *************************************************************************/
#
# @file main.py
#
# @author [email protected]
# @date 2018/5/12
#
num = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# a > b
def string_dec(a, b):
length = max(len(a), len(b))
# 1234567
while (len(a) < length): # 补位
a = "0" + a
# 0056778
while (len(b) < length): # 补位
b = "0" + b
arr_a = list(a)
arr_b = list(b)
i = length - 1
while (i >= 0): # 从后到头遍历
sum = int(arr_a[i]) - int(arr_b[i])
if sum < 0: # 小于0,借位
pos = i - 1
while (arr_a[pos] == '0'): # 0 -> 9
arr_a[pos] == '9'
pos = pos - 1
arr_a[pos] = num[int(arr_a[pos]) - 1]
sum = sum + 10
else:
# 大于0,足够减
pass
arr_a[i] = num[(sum % 10)]
i = i - 1
a = ''.join(arr_a)
while (len(a) > 1 and a[0] == '0'): # 去掉前缀0
a = a[1:]
return a
if __name__ == '__main__':
a = '1334567'
b = '56878'
c = string_dec(a, b)
print a,"-",b,"=",c
1面
- 工作经历,业务背景。
- 算法:如何获取数组最小k个数;数组如何取出两个数,他们的和为指定数值。
- 语言:Java HashMap 和ConcurrentHashMap
- 计算机网络:流量控制和拥塞控制
- 操作系统:select 和epoll 的区别
- golang 如何并发
2面
聊项目细节
3面
聊项目细节,多处涉及原理
算法题:一个偶数个元素组成的无序数组,如何挑选出1/2个元素,使得挑选出来的是最内聚的,内聚的定义:最大-最小的差值最小
sort 实现:https://blog.csdn.net/qq_35440678/article/details/80147601
上一篇: 社招中级前端笔试面试题总结
下一篇: mysql怎么设置job自动启动