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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

从三个数组中选择满足条件的三个数

發布時間:2024/9/30 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从三个数组中选择满足条件的三个数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Given 3 arrays, pick 3 nos, one from each array, say a,b,c such that |a-b|+|b-c|+|c-a| is minimum

如果假設a >=b >= c, 就是求2(a-c), 也就是說最終的值只與最大值和最小值有關

我的想法是將這三個數組的元素加上所屬數組類別的信息,然后進行排序,下面的工作就是和最短鏈珠的做法一樣了,依次找出包含a,b,c數組元素的最小span,然后計算這個span最大值和最小值之差。


網上的做法更為精巧,整個是3數組歸并的過程。首先計算三元組(ai,bj,ck)的值,然后找出三元組中最小的元素,然后將這個最小元素所屬的數組的指針加1.

可以用反證法證明上述思路,設 ai >= bj >= ck

如果j++, 那么獲得的新的三元組的值大于等于之前的三元組

如果i++,那么獲得的新的三元組的值大于等于之前的三元組

所以只有k++, 才有可能獲得的新元祖的值小于之前的三元組


int CalcABS(int a, int b, int c) {return abs(a-b) + abs(a-c) + abs(b-c); }int GetMin(vector<int>& vec) {assert(!vec.empty());int nMin = vec[0];for (int i = 0; i < vec.size(); i++){if (vec[i] < nMin)nMin = vec[i];}return nMin; }int GetABC(int a[], int na, int b[], int nb, int c[], int nc, int& sa, int& sb, int& sc) {assert(a && na>0 && b && nb>0 && c && nc>0);sort(a, a+na);sort(b, b+nb);sort(c, c+nc);int i = 0;int j = 0;int k = 0;sa = sb = sc = 0;int nMin = CalcABS(a[i], b[j], c[k]);while (i != na-1 || j != nb-1 || k != nc-1)//應該用&&連接{vector<int> vec;if (i != na-1) vec.push_back(a[i]);if (j != nb-1) vec.push_back(b[j]);if (k != nc-1) vec.push_back(c[k]);int nRes = GetMin(vec);if (i != na-1 && a[i] == nRes)i++;else if (j != nb-1 && b[j] == nRes)j++;else k++;nRes = CalcABS(a[i], b[j], c[k]);if (nRes < nMin){sa = a[i];sb = b[j];sc = c[k];nMin = nRes;}}return nMin; }

總結

以上是生活随笔為你收集整理的从三个数组中选择满足条件的三个数的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲免费观看在线 | 欧美18一19性内谢 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 免费视频成人 | 亚洲欧美不卡 | 午夜色网站 | 欧美日韩中文字幕视频 | 一区免费观看 | 久久嫩草| 欧美高清hd18日本 | 2021狠狠干| 中文字幕超清在线免费观看 | 精品无码久久久久久久久久 | 校园春色亚洲色图 | 亚洲福利| 久久久久久成人 | 日韩女优一区 | 国产精品九一 | 龚玥菲三级露全乳视频 | 精品一二三四区 | 伊人精品 | 好男人www | av有码在线 | 超碰天堂 | 99热这里都是精品 | 特黄一级毛片 | 91中文字幕在线观看 | 男人的天堂影院 | 深夜福利久久 | av毛片网| 日韩午夜免费 | 欧美日韩视频在线观看一区 | 天堂网在线最新版www中文网 | 91国产视频在线播放 | 国产精品免费无码 | 视色视频在线观看 | 美女插插视频 | 伦理片波多野结衣 | 午夜精彩视频 | 污污的网站在线免费观看 | 91福利社在线观看 | 好吊操精品视频 | 在线看片网址 | 亚欧美在线观看 | 国产女女做受ⅹxx高潮 | 亚洲黄色在线观看 | 成人国产在线视频 | 在线中文字幕一区二区 | 国产r级在线观看 | 日韩视频免费播放 | 真实新婚偷拍xxxxx | 欧美激情三区 | 91精品国产一区二区无码 | 亚洲高清视频一区 | 中文字幕av观看 | 97操| 99精品一区二区三区无码吞精 | 公车乳尖揉捏酥软呻吟 | 欧美日韩免费在线观看 | 久久黄页| 亚洲一二三视频 | 激情视频网址 | 少妇视频网 | 五月婷婷综合网 | 狠狠躁18三区二区一区视频 | 成人拍拍视频 | 国产成人一区在线观看 | 国产成人精品一区二区三区免费 | 久操成人| 国产欧美在线观看 | 国产偷人妻精品一区二区在线 | 亚洲国产精品女人久久久 | 成人性生交大片 | 国产精品视频一区二区三 | 欧美激情在线狂野欧美精品 | 色哟哟网站在线观看 | 青青草原影视 | 殴美一级片 | 在线看免费 | 久久久久久久久久久久久久久久久 | 精品影片一区二区入口 | 五月天伊人网 | 免费在线日韩av | 夜夜操影视 | 人人干人人插 | 免费在线观看黄 | 成人欧美一区二区三区在线播放 | 中国毛片基地 | 就要爱爱tv| 激情图片网站 | 自拍偷拍第一页 | 加勒比在线免费视频 | 久久我不卡 | 美女视频黄频视频大全 | 成人在线高清视频 | 97色爱| 国产精品久久久久久免费观看 | 麻豆成人免费 | 欧美中文字幕 |