題目連結
題意:
給定一組遞增序列,將其任兩數相加之和不可重複(包含自己與自己相加)
如1, 2, 4, 8
任兩數相加有: 1+1, 1+2, 1+4, 1+8, 2+2, 2+4, 2+8, 4+4, 4+8, 8+8
其中測資元素大小不超過10000
解法:
當下看到第一個直覺是用一個陣列存總和列表,要放新的前先檢查有無重複
但因為是任兩數相加都要比,數字一多搜尋重複所耗費時間也很可觀
後來發現可以改良陣列,用陣列index當作總和
因為數字上限10000,任兩數之和不會超過20000
設立布林陣列,預設false,相加判斷index
為true表示已出現過,就不是B2-Sequence
切記換下一組測資前要重設陣列
程式(Java):
題意:
給定一組遞增序列,將其任兩數相加之和不可重複(包含自己與自己相加)
如1, 2, 4, 8
任兩數相加有: 1+1, 1+2, 1+4, 1+8, 2+2, 2+4, 2+8, 4+4, 4+8, 8+8
其中測資元素大小不超過10000
解法:
當下看到第一個直覺是用一個陣列存總和列表,要放新的前先檢查有無重複
但因為是任兩數相加都要比,數字一多搜尋重複所耗費時間也很可觀
後來發現可以改良陣列,用陣列index當作總和
因為數字上限10000,任兩數之和不會超過20000
設立布林陣列,預設false,相加判斷index
為true表示已出現過,就不是B2-Sequence
切記換下一組測資前要重設陣列
程式(Java):
留言
張貼留言