当前位置: 首页 > wzjs >正文

静安网站建设哪里有百度竞价推广投放

静安网站建设哪里有,百度竞价推广投放,线上商城运营方案,网站怎么添加栏目分治法 //lSum表示[left,right]内以left为左端点的最大子段和 //rSum表示[left,right]内以right为右端点的最大字段和 //iSum表示[left,right]的区间和 int divide_conquer(int* nums,int left,int right,int *lSum,int *rSum,int *iSum){int maxSum;//表示[left,right]内的最…

分治法

//lSum表示[left,right]内以left为左端点的最大子段和
//rSum表示[left,right]内以right为右端点的最大字段和
//iSum表示[left,right]的区间和
int divide_conquer(int* nums,int left,int right,int *lSum,int *rSum,int *iSum){int maxSum;//表示[left,right]内的最大字段和if(left == right){*lSum = nums[left];*rSum = nums[left];*iSum = nums[left];maxSum = nums[left];return maxSum;}int mid = (left+right)/2;int lSumL,rSumL,iSumL;int maxSumL = divide_conquer(nums,left,mid,&lSumL,&rSumL,&iSumL);int lSumR,rSumR,iSumR;int maxSumR = divide_conquer(nums,mid+1,right,&lSumR,&rSumR,&iSumR);*iSum = iSumL + iSumR;*lSum = lSumL > (iSumL + lSumR) ? lSumL:(iSumL + lSumR);*rSum = rSumR > (iSumR + rSumL) ? rSumR:(iSumR + rSumL);maxSum = maxSumL > maxSumR ? maxSumL: maxSumR;if(maxSum < rSumL+lSumR)maxSum = rSumL+lSumR;return maxSum;
}int maxSubArray(int* nums, int numsSize) {int lSum,rSum,iSum;return divide_conquer(nums,0,numsSize-1,&lSum,&rSum,&iSum);
}

动态规划

第一版

int maxSubArray(int* nums, int numsSize) {if(numsSize == 1)return nums[0];int *max_sub_sum = (int*)malloc(sizeof(int)*numsSize);max_sub_sum[0] = nums[0];int max_sum = nums[0];for(int i = 1;i < numsSize;i++){max_sub_sum[i] =  max_sub_sum[i-1] + nums[i] >= nums[i] ? max_sub_sum[i-1] + nums[i]:nums[i];if(max_sub_sum[i] > max_sum)max_sum = max_sub_sum[i];}free(max_sub_sum);return max_sum;
}

分析发现,numsSize等于1的情况不用单独考虑,后面的逻辑可以涵盖这种情况:

int maxSubArray(int* nums, int numsSize) {int *max_sub_sum = (int*)malloc(sizeof(int)*numsSize);max_sub_sum[0] = nums[0];int max_sum = nums[0];for(int i = 1;i < numsSize;i++){max_sub_sum[i] =  max_sub_sum[i-1] + nums[i] >= nums[i] ? max_sub_sum[i-1] + nums[i]:nums[i];if(max_sub_sum[i] > max_sum)max_sum = max_sub_sum[i];}free(max_sub_sum);return max_sum;
}

进一步分析,发现求max_sub_sum[i]的时候,只需要用到max_sub_sum[i-1],而不需要用到max_sub_sum数组i-1前面的元素,所以可以用一个pre_max_sub_sum取代max_sub_sum数组的作用,节省内存开销。

int maxSubArray(int* nums, int numsSize) {int pre_max_sub_sum = nums[0];int max_sum = nums[0];for(int i = 1;i < numsSize;i++){pre_max_sub_sum =  pre_max_sub_sum + nums[i] >= nums[i] ? pre_max_sub_sum + nums[i]:nums[i];if(pre_max_sub_sum > max_sum)max_sum = pre_max_sub_sum;}return max_sum;
}

http://www.dtcms.com/wzjs/783042.html

相关文章:

  • 中国建设银行吉林省分行官网站网页制作模板word
  • 公司网站制作申请报告微盟商城官网
  • 物流网站素材二手设备回收做哪个网站好
  • 电商网站难做吗论坛网站开发平台
  • 免费试用平台网站源码虚拟云电脑
  • 华为开发者模式怎么关闭公众号seo排名优化
  • 微信公众号里怎么做网站专业网站建设提供商
  • 成都做企业网站园林景观设计公司总工岗位职责
  • 百度收录网站图片西安二手房价格走势最新消息
  • wordpress文章页怎么调用网站图片昆山高端网站设计公司
  • 台前网站建设价格个人网站如何加入百度联盟
  • 无锡定制网站广安发展建设集团有限公司门户网站
  • 做网站教程下载阿里云wordpress镜像
  • 建设银行内部学习网站WordPress模板移植emlog
  • 淘宝网站的建设情况网站制作西安企业网站制作
  • 网上商城网站建设意义网站开发完成如何上线
  • 中兴通讯的网站建设分析制作科技网站首页
  • 彩票网站开发 违法建设网站的企业
  • wordpress如何建企业站鞍山抖音seo新闻
  • 济南网站推广¥做下拉去118crwordpress主页透明
  • 网站多语言版本小公司企业简介300字
  • 莆田市荔城区建设局网站微信公众平台运营
  • 做设计在哪个网站找图片wordpress站点标题添加
  • 点广告挣钱网站有哪些品牌网站建设4a小蝌蚪
  • 徐水区住房和城乡建设局网站网站开发赚不赚钱
  • 耐克运动鞋网站建设规划书框架云主机wordpress
  • 河南移动商城网站建设微商城系统网站模板
  • 提供微网站制作电话网络公司企业网站模板
  • 南昌有哪些做网站的公司网上下的网站模版后门
  • 福安做网站最好手机网站制作报价