股票問題-求收益最大值

小楊同學96發表於2023-03-14

分享一個面試題:

宣告一個陣列,代表股票的各個期值,求在這個階段最大的收益值為多少?

簡言之:其實就是求陣列中兩個值的差值中,最大的值。

第一反應的思路就是,進行雙層迴圈進行差值計算,再從差值計算獲得的陣列中選出最大的值。面試完想了這個方法一下有些麻煩,還不如直接就在迴圈中比較出來,選出最大值,直接輸出。這屬實有些延遲,面試的表現不太好。

    <script>
            let arr =[1, 22, 37, 41, 15];
            let count = 0;
            let item = 0;
            for(let i = 0; i< arr.length; i++) {
                for(let j =i+1;j<arr.length;j++){
                    if(arr[i]> arr[j]){
                        item = arr[i]-arr[j];
                        if(item > count){
                            count = item;
                        }

                    }else{
                        item = arr[j] - arr[i];
                        if(item> count) {
                            count = item;
                        }
                    }
                }
            }
            console.log("最大利益值為:",count)


    </script>

 

相關文章