請教一個關于陣列的演算法問題:判斷一個陣列從某一個位置分割后兩邊之合是否相等?
比如:
[2, 5, 3, 10] [6, 3, 4, 4, 1] [20, 20] 分割后兩邊都相等。
[2, 5, 3, 11] [6, 3, 4, 4, 2] [22, 20] 分割后兩邊都不相等。
會用到陣列的 slice(start, end) 和 reduce((prev, current, index)=>{ return prev + current; })方法,但是對于如何高性能實作還沒有思路,想在這里請教大家,非常感謝!
uj5u.com熱心網友回復:
先求陣列總和再從第一個元素起依次回圈用總和減去當前元素,如果減到某個位置,減的結果正好為總和的一半,則可分割;如果減的結果小于總和的一半,則停止回圈,說明不可分割。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/251019.html
標籤:JavaScript
上一篇:請教一個關于陣列的演算法問題:如何對多維陣列(數字)進行排序?
下一篇:前端基礎入門
