• 字节跳动笔试题


    今天做了字节跳动的笔试题,总得来讲题并不难,但是需要看懂题的意思,列出自己的思路再进行编程这样效率才高,之前面试腾讯暑期实习生就是太紧张了,大脑一片空白,也不知道先写写自己的思路,然后再进行编程,结果给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
     
  • 相关阅读:
    三元运算
    sys and os
    print.format
    while loop
    线段树模板
    Round #431 (Div.2)
    D. Make a Permutation!
    Round #411 (Div.2)
    Round #432 (Div.2)
    Round #433 (Div.2)
  • 原文地址:https://www.cnblogs.com/qal2767799810/p/11524034.html
Copyright © 2020-2023  润新知