iT邦幫忙

0

Day 10, Data Structure- Coursera- Stress Test(MaxPairwiseProduct)完成

  • 分享至 

  • xImage
  •  

如題目,找出輸入的最大與次大數值相乘為正確輸出。承接Day 9卡住的題目。
今天浪費生命在youtube上看廢片兩個小時逃避責任後,我拖著痛苦不想面對coursera題目的身子,開始編程。
由於昨天碰到overflow問題,我再次複習了long long資料類型,滿腦子充斥著long long manyoutube洗腦廣告旋律。非業配就為了不能只有我看到而已,我要將觀閱文章的人們一起拖入long long man的洗腦旋律無法逃離魔爪
這是long long man鏈結:https://youtu.be/6-1Ue0FFrHY 給youtube廢片癌末期者,願者上鉤
原本我想要帶著滿滿的惡意與罪惡感在google上查詢解答,但是最後我決定從零開始打程式,遇到問題或是遺忘的指令才查google。

我想出的點子依序如下:

1. 創建vector儲存輸入值,用C++的max指令找出第一大值,刪掉vector的最大值後,再用max指令找出第二大值。

面臨困境:

要抓出第一大數值,且下一次去除它,一般vector是行不通的,如果要刪掉最大值,想必要用迴圈去尋找index值,感覺浪費心力又不會通過time limit.....。

結論: 放棄

2. 創建map搜最大值與次大值。

面臨困境:

直接查到勸退文,提到map是自行定義排序的,用map查最大數值無疑是在浪費時間。讓原本想用輸入值為key,map值為i的我放棄這一條路。

結論: 放棄

3. 直接放棄原題目範例中先將數值存入vector裡的作法,直接在數值輸入的過程中找出最大值與次大值存起來,並最後輸出相乘結果。

面臨困境:

只有我的腦袋與手指不協調不熟悉而已,透漏我犯的錯誤讓客官們見笑一下。阿不是,我怎麼寫這句話時怎麼那麼順?

cin>>n<<endl; /*cin與endl都將矛頭指向了n*/

結論: 錄用,開始打程式

以下是我的程式:

如果有人某一天為想抄答案而點開這裡... ...其實我也沒辦法拿你怎麼樣... ...

#include<iostream>
//#include<vector>哎呀曝露了我的心思 
using namespace std;
int main(){
//    cout<<"Hi"<<endl;
    int n;
    long long judge = 0;
    long long secondjudge = 0;
    long long number, life_lemon;//當命運給你檸檬時,你只能做檸檬料理 
    cin>>n;
 //   std::vector<int> numbers(n);
    for(int i=0;i<n;i++){
        std::cin>>number;
        if(number>judge){
            life_lemon = judge;
            judge = number;
            if(life_lemon>secondjudge){
                secondjudge = life_lemon;
            }
        }
        else if(judge>secondjudge && number>secondjudge){
            secondjudge = number;
        }

 
/*        std::cout<<"Big number is "<<judge<<" and the second big number is "<<secondjudge<< " life_lemon is "<<life_lemon<<endl;*/
    }
    std::cout/*<<" We find the max product is "*/<<judge*secondjudge<<endl;
}

裡面有很多long long資料型態,這是要避免結果overflow。
我設定第一大數值的變數名稱是judge
第二就是secondjudge
也許會有人問 life_lemon是甚麼鬼?
阿不然你在沒有life_lemon變數的情況下輸入n=5; input: 6 98 89 0 1000
看結果就知道了呀!

就是事情總有意外嘛!When life gives you lemons, make lemonade.
這是為了彌補else if的小問題才加上去的。
最後附上通過的小圖,失敗的就不附上了~
https://ithelp.ithome.com.tw/upload/images/20220613/20149573zIoSoJCzRW.png


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言