字节跳动笔试题
今天做了字节跳动的笔试题,总得来讲题并不难,但是需要看懂题的意思,列出⾃⼰的思路再进⾏编程这样效率才⾼,之前⾯试腾讯暑期实习⽣就是太紧张了,⼤脑⼀⽚空⽩,也不知道先写写⾃⼰的思路,然后再进⾏编程,结果给pass掉了,想来还是很可惜的。下⾯是字节跳动的笔试题:
要求:输⼊数组长度,然后输⼊数组中的各个元素,最后输⼊整数K,要求出数组中三个元素⼩于K的三个元素,例如:          输⼊数组长度:6
          输⼊数组元素:-2、0、1、2、3、6
          输出三元组:共4个
下⾯给出思路和代码:
"""
思路:
1、获得⽤户输⼊的数组长度n,若n不为整数,则提⽰错误。
2、创建数组。
3、获得⽤户输⼊的数组元素,如果元素个数超过数组长度n,则提⽰错误。
4、获取⽤户输⼊的整数k,如果⾮整数,则提⽰错误。
5、可以使⽤for循环来依次遍历,到满⾜条件的三元组并记录下来。
6、输出满⾜条件的三元组的个数。
"""
i = 0
j = 0
while True:
#  1、获得⽤户输⼊的数组长度n, 若n不为整数,则提⽰错误。
try:
n = int(input("请输⼊所需要创建的数组长度:"))
except:
print("请输⼊整数")
continue
#  2、创建数组。
arrs = []
#  3、获得⽤户输⼊的数组元素,如果元素个数超过数组长度n,则提⽰错误。while True:
if i is not n:笔试题
try:
arr_data = int(input("请输⼊数组元素:"))
except:
print("请输⼊整数")
continue
arrs.append(arr_data)
i = i+1
else:
break
print(arrs)
#  4、获取⽤户输⼊的整数k,如果⾮整数,则提⽰错误。
while True:
try:
k = int(input("请输⼊⼀个整数K:"))
except:
print("请输⼊整数")
continue
break
#  5、可以使⽤for循环来依次遍历,到满⾜条件的三元组并记录下来。while j < len(arrs):
#  print(arrs[j])
m = 0
if j+2+m >= len(arrs):
break
else:
while (arrs[j] + arrs[j+1] + arrs[j+2+m] < k) & (j+1 < len(arrs)):
three_tuple = list()
three_tuple.append(arrs[j])
three_tuple.append(arrs[j+1])
three_tuple.append(arrs[j+2+m])
print(three_tuple)
m = m + 1
j = j + 1