日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2019.9.11 小米笔试算法岗编程题 两个动归

發布時間:2024/3/13 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019.9.11 小米笔试算法岗编程题 两个动归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.最大連續子序列之和

時間限制:C/C++語言 1000MS;其他語言 3000MS
內存限制:C/C++語言 65536KB;其他語言 589824KB

題目描述:

給定K個整數的序列{ N1, N2, …, NK },其任意連續子序列可表示為{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。最大連續子序列是所有連續子序中元素和最大的一個, 例如給定序列{ -2, 11, -4, 13, -5, -2 },其最大連續子序列為{ 11, -4, 13 },最大和為20

輸入:

一個整數數組

輸出:

最大的和

樣例:

輸入: 1 2 3 輸出: 6

思路:

動態規劃經典例題。
dp[i]代表,使用了num[i]的子序列,最大和為多少。
既然dp[i]使用了num[i],那么dp[i+1]即為使用num[i+1],則這個子序列要么只有num[i+1]一個數,要么從上一個使用了num[i]的子序列接過來。(只要是非負數,怎么拿都不虧,負數才會出現問題)
∴dp[i] = max( dp[i-1]+num[i] , num[i])

代碼:

#include <cstdio> #include <string> #include <iostream> #include <cstring> #include <algorithm> using namespace std; int dp[100010]; int a[100010]; int n; int split(string &s,int a[]) {int n = 0;int res = 0;int k = 1;s += ' ';for(int i=0;i<s.size();i++){if(s[i]=='-'){k = -1;continue;}if('0'<=s[i] && s[i]<='9'){res = res*10 + s[i]-'0';}else{a[++n] = k*res;res = 0;k = 1;}}return n; } int main() {string input;getline(cin,input);n = split(input,a);for(int i=1;i<=n;i++)dp[i] = max(0,a[i]);int max_num = 0;for(int i=1;i<=n;i++){dp[i] = max(dp[i-1]+a[i],dp[i]);max_num = max(max_num,dp[i]);}cout<<max_num<<endl;return 0; }

A了。難點在處理輸入。

2.利潤最大化

時間限制:C/C++語言 1000MS;其他語言 3000MS
內存限制:C/C++語言 65536KB;其他語言 589824KB

題目描述:

米兔是一個投資人,持有著小米的股票。股票價格每日都有波動,數組price代表了每日股票的具體價格,其中price[i]代表小米在第i天的股價。米兔最多可以進行兩次交易(一個買進,賣出為一次交易)并且不能同時進行兩次交易(必須在再次購買前出售掉之前的股票),米兔想知道他最多能夠獲得多少利潤呢?

輸入:

正整數序price,代表了股票價格。其中第i個數代表了第i天的價格。

輸出:

兩次交易后能獲得的最大利潤

樣例:

輸入: 2 1 5 0 2 3 1 4 輸出: 8

思路:

枚舉中間分隔,兩頭分別用前綴最小和后綴最大,最后再看看有沒有只交易一輪的。其實一開始以為要開線段樹來拿區間極值,寫完線段樹后發現用不上。這個算法效率不高,基本相當于暴力。

代碼:

#include <cstdio> #include <string> #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int MAXNUM = 100010; int a[MAXNUM]; int n; int split(string &s,int a[]) {int n = 0;int res = 0;int k = 1;s += ' ';for(int i=0;i<s.size();i++){if(s[i]=='-'){k = -1;continue;}if('0'<=s[i] && s[i]<='9'){res = res*10 + s[i]-'0';}else{a[++n] = k*res;res = 0;k = 1;}}return n; } int dp[MAXNUM],min_v[MAXNUM],max_v[MAXNUM]; int main() {string input;getline(cin,input);n = split(input,a);int max_num = 0;memset(min_v,0x3f,sizeof(min_v));for(int i=1;i<=n;i++)min_v[i] = min(a[i],min_v[i-1]);for(int i=n;i>=1;i--)max_v[i] = max(a[i],max_v[i+1]);for(int key=2;key<=n-2;key++)//枚舉中間{int tempL = 0;for(int i=1;i<=key;i++){tempL = max(tempL, a[i]-min_v[i]);}int tempR = 0;for(int i=n;i>=key+1;i--){tempR = max(tempR, max_v[i]-a[i]);}max_num = max(max_num, tempL+tempR);}for(int i=1;i<=n;i++){max_num = max(max_num, a[i]-min_v[i]);}cout<<max_num<<endl;return 0; }

A了,不知道數據范圍有多少,這個應該是O(n2)的。笑死我了,一開始寫了4重for循環O(n^4)的,竟然能過77%。

int max_num = 0;for(int i=1;i<=n-1;i++)for(int j=i+1;j<=n;j++)for(int k=j;k<=n;k++)for(int l=k+1;l<=n;l++)max_num = max(max_num,a[j]-a[i] + a[l]-a[k]);cout<<max_num<<endl;

總結

以上是生活随笔為你收集整理的2019.9.11 小米笔试算法岗编程题 两个动归的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚欧精品视频一区二区三区 | 欧美第一网站 | 色香视频首页 | 五月天婷婷激情视频 | 九九热视频在线播放 | 呦呦网| 成人羞羞网站 | 东南亚毛片 | 美女日批视频在线观看 | 日韩色一区 | 台湾佬美性中文娱乐 | 痴女扩张宫交脱垂重口小说 | 日韩av无码一区二区三区 | 色哟哟在线免费观看 | 91午夜在线 | 99热在线免费观看 | 免费黄在线| 国产精品99一区二区三区 | 中国黄色一级毛片 | 一级特黄毛片 | 国产精品白丝喷水在线观看 | 护士人妻hd中文字幕 | 精品少妇人妻av免费久久久 | 看黄色一级视频 | 欧美中文字幕在线视频 | 国产美女白浆 | 好好热视频 | 精品国产免费视频 | 欧美放荡性医生videos | 欧美日韩性视频 | 日本公妇乱淫免费视频一区三区 | 久久免费成人 | 午夜剧场免费观看 | 欧美精品一区二区在线播放 | 综合婷婷| 亚洲伦乱 | 日韩大片免费观看 | 国产成人手机视频 | 亚洲男女在线 | 国产三区精品 | 乳色吐息在线看 | 最新视频在线观看 | 欧美一区二区三区激情啪啪 | 国产成人片 | 韩国av电影网站 | 日本免费一级片 | 久久精品4 | 国精产品乱码一区一区三区四区 | 欧美亚洲二区 | 香蕉视频成人在线 | 青娱乐导航 | www啪啪| 国产在线观看不卡 | av性色 | 激情网站免费 | 15p亚洲| 欧美在线视频一区 | 日韩成人一级 | 98国产精品 | 日本免费在线一区 | 中文字幕在线观看一区二区三区 | 波多野一区 | 男ji大巴进入女人视频 | 国产极品免费 | 自拍偷拍麻豆 | 天堂资源站 | 91豆花视频 | 精品黄色av | 精品国产一区二区在线 | 六月丁香婷婷激情 | 精品久久免费视频 | 午夜羞羞网站 | 国产福利一区二区三区 | 亚洲黄视频| 在线观看 一区 | 91久久精品日日躁夜夜躁国产 | 精品久久久久久久久久久久久久久久 | 精品久久久久久久免费人妻 | 亚洲熟女少妇一区二区 | 日本成人一级片 | 成人av专区| 九九在线免费视频 | 欧美做受视频 | 欧美熟妇另类久久久久久多毛 | 国产精品手机在线观看 | 日韩一区二区在线免费观看 | 亚洲视频在线观看一区二区三区 | 女同在线视频 | 超黄网站在线观看 | 韩国毛片一区二区三区 | 日韩永久免费 | 粗口调教gay2022.com | 快色视频 | 日韩av电影中文字幕 | 欧美精品一区二区三区视频 | 亚洲成a人片在线www | 狠狠撸在线观看 | 日韩无码精品一区二区 | 日韩在线91 |