前往
大廳
主題

LeetCode - 728. Self Dividing Numbers 解題心得

Not In My Back Yard | 2021-01-03 00:00:07 | 巴幣 0 | 人氣 305

題目連結:


題目意譯:
一個「自除數」(Self-Dividing Number)為一數字,其可被其任一位數之值所整除。

例如,128 是一個自除數,因為 128 % 1 == 0 、 128 % 2 == 0 且 128 % 8 == 0 。

此外,一個自除數不能包含任何的 0 之位數。

給定一個數字下界 left 以及上界 right ,輸出一個列表其包含該區間(包含端點,如果端點也是自除數的話)所有可能的自除數。

注:
輸入參數之邊界為 1 ≦ left ≦ right ≦ 10000 。



範例測資:
輸入: left = 1 、 right = 22
輸出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]


解題思維:
沒什麼特別的,就是直接掃過 [left, right] 這個區間裡的所有數字。對於每個數字 C ,將 C 拆分成多個一位數數字,然後判斷那些數字有沒有 0 。如果有,則 C 一定不是自除數;反之,將那些數字拿去除除看 C ,如果可以都可以整除 C ,則 C 就是一個自除數;反之則不是。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作