亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言求向量和的兩則問題解答分享

2020-01-26 14:39:28
字體:
來源:轉載
供稿:網友

求一個向量的任何連續子向量的最大和

比如向量(31,-41,59,26,-53,58,97,-93,-23,84);
最大和是從59到97即為187

#include<stdio.h>#include<stdlib.h>//兩者的最大值int max( int x, int y );//三者的最大值int max2( int x, int y, int z );//最原始的算法,復雜度為T(n)=O(n*n)int oringinal( int v[], int len );//原始基礎上變體版,復雜度為T(n)=O(n*n)int oringinal_ex( int v[], int len );//分治法,復雜度為T(n)=O(n*log(n))/* *分治法的思想是:將原數組分成兩部分,要求的最大值 *要么在左邊這部分里面,要么在右邊這部分里面 *要么就在左右相交的交界處 */int divAndCon( int v[], int low, int high );//掃描法,復雜度為T(n)=O(n)int scan(int v[], int len);void main(){     int i = 0;     int v[] = {31,-41,59,26,-53,58,97,-93,-23,84};     int len = 0;     int result;     len = sizeof(v) / sizeof(int);     printf("oringinal datas:/n");     for( i = 0; i < len; i++ )     {       printf("%d/t",v[i]);     }     printf("/n");     //最原始的算法     result = oringinal(v,len);     printf("oringinal(v,len):%d/n",result);     //最原始變體的算法     result = oringinal_ex(v,len);     printf("oringinal_ex(v,len):%d/n",result);     //分治法     result = divAndCon(v,0,len-1);     printf("divAndCon(v,0,len):%d/n",result);     //掃描法     result = scan(v,len);     printf("scan(v,len):%d/n",result);}//兩者的最大值int max( int x, int y ){     if( x < y )     {        x = y;     }     return x;}//三者的最大值int max2( int x, int y, int z ){     if( x < y )     {       x = y;     }     if( x < z )     {       x = z;     }     return x;} //最原始的算法,復雜度為T(n)=O(n*n)int oringinal( int v[], int len ){     int maxsofar = 0;     int i;     int j;     int sum = 0;     //通過雙層循環逐步掃描,通過max( sum, maxsofar)獲得當前最大值     for( i = 0; i < len; i++ )     {       sum = 0;       for( j = i; j < len; j++ )       {         sum += v[j];         maxsofar = max( sum, maxsofar );        }     }     return maxsofar;}//原始基礎上變體版,復雜度為T(n)=O(n*n)int oringinal_ex( int v[], int len ){     int i = 0;     int j = 0;     int sum = 0;     int maxsofar = 0;     int *cumarr = ( int * )malloc( len * sizeof(int) );      for( i = 0; i < len; i++ )    {       if( i == 0 )       {         cumarr[0] = v[i];       }       else       {         cumarr[i] = cumarr[i-1] + v[i];       }      }    for( i = 0; i < len; i++ )      for( j = i; j < len; j++ )      {        if( i == 0 )        {           sum = cumarr[i];         }         else        {           sum = cumarr[j] - cumarr[i-1];         }         maxsofar = max(maxsofar,sum);      }      return maxsofar;} //分治法,復雜度為T(n)=O(n*log(n))int divAndCon( int v[], int low, int high ){    int mid = 0;    int lmax = 0;    int rmax = 0;    int sum = 0;    int i = 0;    if( low > high )    {      return 0;    }    if( low == high )    {      return max(0,v[low]);    }    mid = ( low + high ) / 2;    lmax = sum = 0;    for( i = mid; i >= low; i-- )    {       sum += v[i];       lmax = max(lmax,sum);    }    rmax = sum = 0;    for( i = mid + 1; i <= high; i++ )    {      sum +=v[i];      rmax = max(rmax,sum);    }    return max2(lmax + rmax,divAndCon(v,low,mid),divAndCon(v,mid+1,high)); }//掃描法,復雜度為T(n)=O(n)int scan(int v[], int len){     int maxsofar = 0;     int maxendinghere = 0;     int i = 0;     for( i =0; i < len; i++ )     {       maxendinghere = max(maxendinghere + v[i],0);       maxsofar = max(maxsofar,maxendinghere);     }     return maxsofar;} 

201649165648580.jpg (674×144)

求一個向量的任何連續最接近0的子向量的和

比如向量(31,-41,59,26,-53,58,97,-93,-23,84);
最大和是從97到-93即為4

#include<stdio.h>#include<math.h>//返回最接近0的數int closeZero( int x, int y );//最原始的算法,復雜度為T(n)=O(n*n)int oringinal( int v[], int len );void main(){     int i = 0;     int v[] = {31,-41,59,26,-53,58,97,-93,-23,84};     int len = 0;     int result;     len = sizeof(v) / sizeof(int);     printf("oringinal datas:/n");     for( i = 0; i < len; i++ )    {      printf("%d/t",v[i]);    }    printf("/n");    //最原始的算法    result = oringinal(v,len);    printf("oringinal(v,len):%d/n",result); }//返回最接近0的數int closeZero( int x, int y ){     if( abs(x) > abs(y) )     {       x = y;     }     return x;} //最原始的算法,復雜度為T(n)=O(n*n)int oringinal( int v[], int len ){     int sofar = v[0];     int i;     int j;     int sum = 0;     for( i = 0; i < len; i++ )     {       sum = 0;       for( j = i; j < len; j++ )       {         sum += v[j];         sofar = closeZero( sum, sofar );       }     }      return sofar;}

 運行結果:

201649165706546.jpg (654×97)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频播放| 一区二区三区视频免费| 亚洲乱码av中文一区二区| 欧美电影免费看| 亚洲91av视频| 热久久视久久精品18亚洲精品| 欧美综合国产精品久久丁香| 久久久久久久久电影| 日韩精品欧美国产精品忘忧草| 欧美洲成人男女午夜视频| 国产精品三级美女白浆呻吟| 日韩国产中文字幕| 精品一区二区三区四区在线| 成人在线播放av| 97在线精品国自产拍中文| 亚洲自拍小视频免费观看| 亚洲欧美日韩在线一区| 欧美福利视频在线| 国产精品男女猛烈高潮激情| 97人人爽人人喊人人模波多| 另类少妇人与禽zozz0性伦| 亚洲视频第一页| 欧美性猛交xxxx久久久| 欧美黄色成人网| 国产精品久久久久久久久久东京| 人体精品一二三区| 国产亚洲精品美女| 久久免费国产精品1| 日韩精品在线视频观看| 欧美精品videossex性护士| 久久香蕉国产线看观看网| 欧美精品videosex性欧美| 综合av色偷偷网| 亚州av一区二区| 欧美日韩国产中文字幕| 久久99国产综合精品女同| 2018中文字幕一区二区三区| 91av在线免费观看| 国内精品久久久久影院优| 国产成人小视频在线观看| 欧美国产日韩一区二区| 九九热这里只有精品6| 国产主播喷水一区二区| 亚洲区中文字幕| 国产成人自拍视频在线观看| 国产亚洲欧美视频| 91久久久久久国产精品| 日韩电视剧免费观看网站| 国产一区二区丝袜| 国产精品男人的天堂| 亚洲影影院av| 永久免费精品影视网站| 黄色成人在线播放| 日韩亚洲精品视频| 国产一区二区三区直播精品电影| 91精品国产综合久久久久久久久| 精品久久久久久久大神国产| 热草久综合在线| 国产精品久久久久久久久久久久久久| 亚洲xxxx妇黄裸体| 日韩激情av在线免费观看| 精品一区二区电影| 日韩中文字幕免费| 亚洲免费福利视频| 国产精品日韩欧美综合| 日本久久精品视频| 欧美成人第一页| 欧美日韩中文字幕| 久久影视三级福利片| 欧美夫妻性生活视频| 亚洲精品自产拍| 97视频人免费观看| 国产精品美女999| 欧美极品美女视频网站在线观看免费| 成人福利免费观看| 啪一啪鲁一鲁2019在线视频| 国精产品一区一区三区有限在线| 亚洲精品成人久久久| 国产精品久久久久77777| 一区二区三区国产在线观看| 色777狠狠综合秋免鲁丝| 亚洲精品aⅴ中文字幕乱码| 欧美丰满少妇xxxx| 久久久精品国产一区二区| 国外成人免费在线播放| 国产成人精品国内自产拍免费看| 91精品久久久久久久久青青| 国产精品盗摄久久久| 91沈先生作品| 欧美精品在线网站| 欧美激情喷水视频| 成人春色激情网| 欧美大学生性色视频| 色综合导航网站| 国产精品一二三视频| 成人动漫网站在线观看| 久久久www成人免费精品张筱雨| 亚洲第一福利网站| 久热精品视频在线观看| 成人午夜两性视频| 国产精品久久久久久av下载红粉| 亚洲国产成人精品一区二区| 色久欧美在线视频观看| 亚洲视频国产视频| 一区二区亚洲欧洲国产日韩| 亚洲欧美日韩爽爽影院| 欧美自拍视频在线观看| 国产精品久久久久久久久久久久| 色偷偷亚洲男人天堂| 欧美大片在线免费观看| 日韩www在线| 亚洲性无码av在线| 国产精品夫妻激情| 成人性生交大片免费观看嘿嘿视频| 欧美成人精品三级在线观看| 亚洲国产毛片完整版| 91精品国产99| 亚洲国产精品电影在线观看| 欧美在线观看视频| 国产精品久久久久免费a∨| 777国产偷窥盗摄精品视频| 亚洲v日韩v综合v精品v| 欧美黄色三级网站| www.亚洲人.com| 欧美激情视频在线| 国产日韩欧美在线视频观看| 色www亚洲国产张柏芝| 美女精品久久久| 性色av一区二区三区在线观看| 欧美成aaa人片免费看| 久久精品中文字幕一区| 亚洲丁香久久久| 欧美国产极速在线| 亚洲片在线资源| 亚洲成avwww人| 国产日韩在线看片| 国产日韩欧美夫妻视频在线观看| 黑人巨大精品欧美一区免费视频| 欧美壮男野外gaytube| 疯狂做受xxxx欧美肥白少妇| 久久精品久久久久电影| 欧美日韩午夜剧场| 日韩成人在线视频观看| 久久亚洲春色中文字幕| 国产精品1区2区在线观看| 国产精品极品尤物在线观看| 青草青草久热精品视频在线网站| 欧美大学生性色视频| 国产精品久久久久av免费| 欧美wwwxxxx| 中文字幕av一区| 一本大道香蕉久在线播放29| 欧美精品在线视频观看| 亚洲精品一区av在线播放| 亚洲一级黄色片| 日韩福利视频在线观看| 久久精品男人天堂| 亚洲精品天天看| 1769国内精品视频在线播放| 97在线观看视频国产| 欧日韩在线观看| 美女精品视频一区| 一本大道久久加勒比香蕉| 日韩精品视频在线观看免费|