字節跳動筆試題


今天做了字節跳動的筆試題,總得來講題並不難,但是需要看懂題的意思,列出自己的思路再進行編程這樣效率才高,之前面試騰訊暑期實習生就是太緊張了,大腦一片空白,也不知道先寫寫自己的思路,然后再進行編程,結果給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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM