• 从1-100中隔5个数去掉一个数,最后去掉的哪个数(如果数过一遍了从前端接着开始)?


    从1-100中隔5个数去掉一个数,最后去掉的哪个数(如果数过一遍了从前端接着开始),例如数是

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
    先去掉5,10,15........

    最先想到的是使用循环链表,思路很简单。。。

    这里使用python中的deque来解决:

    每次把4个数放到队尾,从头弹出一个数,100次即可。代码如下(python版):

    from collections import deque
    
    list100 = [i for i in range(1,101)]
    print list100
    deque100 = deque(list100)
    dequefinaly = deque()
    for i in range(1,101):
        deque100.rotate(-4)
        one = deque100.popleft()
        dequefinaly.append(one)
        print i,':', one
    print dequefinaly

    10行代码解决问题,python实在是太节省代码了

    结果:

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
    1 : 5
    2 : 10
    3 : 15
    4 : 20
    5 : 25
    6 : 30
    7 : 35
    8 : 40
    9 : 45
    10 : 50
    11 : 55
    12 : 60
    13 : 65
    14 : 70
    15 : 75
    16 : 80
    17 : 85
    18 : 90
    19 : 95
    20 : 100
    21 : 6
    22 : 12
    23 : 18
    24 : 24
    25 : 31
    26 : 37
    27 : 43
    28 : 49
    29 : 56
    30 : 62
    31 : 68
    32 : 74
    33 : 81
    34 : 87
    35 : 93
    36 : 99
    37 : 7
    38 : 14
    39 : 22
    40 : 29
    41 : 38
    42 : 46
    43 : 53
    44 : 61
    45 : 69
    46 : 77
    47 : 84
    48 : 92
    49 : 1
    50 : 9
    51 : 19
    52 : 28
    53 : 39
    54 : 48
    55 : 58
    56 : 67
    57 : 78
    58 : 88
    59 : 97
    60 : 8
    61 : 21
    62 : 33
    63 : 44
    64 : 57
    65 : 71
    66 : 82
    67 : 94
    68 : 4
    69 : 23
    70 : 36
    71 : 52
    72 : 66
    73 : 83
    74 : 98
    75 : 16
    76 : 34
    77 : 54
    78 : 73
    79 : 91
    80 : 13
    81 : 41
    82 : 63
    83 : 86
    84 : 11
    85 : 42
    86 : 72
    87 : 2
    88 : 32
    89 : 76
    90 : 17
    91 : 59
    92 : 3
    93 : 64
    94 : 27
    95 : 96
    96 : 89
    97 : 26
    98 : 51
    99 : 79
    100 : 47
    deque([5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 6, 12, 18, 24, 31, 37, 43, 49, 56, 62, 68, 74, 81, 87, 93, 99, 7, 14, 22, 29, 38, 46, 53, 61, 69, 77, 84, 92, 1, 9, 19, 28, 39, 48, 58, 67, 78, 88, 97, 8, 21, 33, 44, 57, 71, 82, 94, 4, 23, 36, 52, 66, 83, 98, 16, 34, 54, 73, 91, 13, 41, 63, 86, 11, 42, 72, 2, 32, 76, 17, 59, 3, 64, 27, 96, 89, 26, 51, 79, 47])

  • 相关阅读:
    windoww7SP1补丁包
    npm loader:936问题
    selenium键盘输入操作
    Windows 剪贴板的预定义格式
    selenium解决ERROR:ssl_client_socket_impl.cc(962)] handshake failed; returned 1, SSL
    Nodejs安装教程及脚手架
    达梦SQL优化及执行计划解读
    pyautogui函数解析分类
    fastapi全局变量
    与Airtest自动化搭配使用模拟器
  • 原文地址:https://www.cnblogs.com/liaocheng/p/5432363.html
Copyright © 2020-2023  润新知