Giả sử chúng ta có một số n, chúng ta phải tạo một danh sách với mỗi số từ 1 đến n, ngoại trừ khi nó là bội của 3 hoặc có 3, 6 hoặc 9 trong , nó phải là chuỗi "no-fill".
Vì vậy, nếu đầu vào là 20, thì đầu ra sẽ là ['1', '2', 'vỗ tay', '4', '5', 'vỗ tay', '7', '8', 'vỗ tay', '10', '11', 'vỗ tay', 'vỗ tay', '14', 'vỗ tay', 'vỗ tay', '17', 'vỗ tay', 'vỗ tay', '20 ']
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
string:="no-fill"
-
ls:=tạo danh sách các số dưới dạng chuỗi từ 1 đến n
-
đối với tôi trong phạm vi từ 0 đến kích thước ls - 1, thực hiện
-
nếu ls [i] chia hết cho 3 thì
-
ls [i]:=string
-
-
ngược lại khi '3' có trong ls [i] thì
-
ls [i]:=string
-
-
ngược lại khi '6' có trong ls [i] thì
-
ls [i]:=string
-
-
ngược lại khi '9' có trong ls [i] thì
-
ls [i]:=string
-
-
-
trả lại ls
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Solution: def solve(self, n): string = "no-fill" ls=[str(i) for i in range(1,n+1)] for i in range(len(ls)): if int(ls[i])%3==0: ls[i]=string elif '3' in ls[i]: ls[i]=string elif '6' in ls[i]: ls[i]=string elif '9' in ls[i]: ls[i]=string return ls ob = Solution() print(ob.solve(20))
Đầu vào
20
Đầu ra
['1', '2', 'clap', '4', '5', 'clap', '7', '8', 'clap', '10', '11', 'clap', 'clap', '14', 'clap', 'clap', '17', 'clap', 'clap', '20']