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

做网站要几天网络服务中心

做网站要几天,网络服务中心,专业的手机价格网站建设,怎么做企业功能网站题目描述 题目分析: x轴向上射箭,12一支,重叠的需要一支,3-8一支,7-16一支 返回2; 就是让重叠的气球尽量在一起,局部最优;用一支弓箭,全局最优就是最少弓箭&#xff1b…

题目描述
在这里插入图片描述
题目分析:
在这里插入图片描述
x轴向上射箭,12一支,重叠的需要一支,3-8一支,7-16一支 返回2;
就是让重叠的气球尽量在一起,局部最优;用一支弓箭,全局最优就是最少弓箭;
如何去寻找重叠的气球?和记录弓箭数?
1.对所有气球排序;(左边界排序如上图);
2. if 如果第i个气球的左边界大于第i-1个气球的右边界;即point[i][0] > point[i-1][1] 比如上图中3 6 的左边界3大于右边界1 2 的右边界2;那么弓箭数++;
3.else 就是重叠 右边界取最小值;
在这里插入图片描述
如图36 48重叠,右边界取6 8 的最小值6作为重叠的右边界;
else 逻辑: a: 更新右边界;points[i][1] = min(points[i-1][1] ,points[i][1] );
b:拿这个右边界和下一个气球比较;

int cmp(const void *a, const void *b)
{int *x = *(int **)a;int *y = *(int **)b;if (x[0] == y[0]) {return x[1] > y[1];}return x[0] > y[0];
}int findMinArrowShots(int** points, int pointsSize, int* pointsColSize){//将points数组作升序排序qsort(points, pointsSize, sizeof(points[0]),cmp);int arrowNum = 1;int i = 1;for(i = 1; i < pointsSize; i++) {//若前一个气球与当前气球不重叠,证明需要增加箭的数量if(points[i][0] > points[i-1][1])arrowNum++;else//若前一个气球与当前气球重叠,判断并更新最小的x_endpoints[i][1] = fmin(points[i-1][1] ,points[i][1] );}return arrowNum;
}

题目描述
在这里插入图片描述
分析:
左边界排序,
if nums[i][0] >= nums[i-1][1] i的左边界大于i-1的右边界表示没有重叠;
else 重叠 cnt++; 右边界也是取最小值,和上一题一样; nums[i][1] = min(nums[i-1][1],nums[i][1]);

代码一

int cmp(const void *a, const void *b)
{int *x = *(int **)a;int *y = *(int **)b;if (x[0] == y[0]) {return x[1] > y[1];}return x[0] > y[0];
}int eraseOverlapIntervals(int** intervals, int intervalsSize, int* intervalsColSize){// 贪心算法if (intervalsSize == 0) {return 0;}// end递增排序qsort(intervals, intervalsSize, sizeof(int *),cmp);int count = 0;for (int i = 1; i < intervalsSize; i++) { // i 和 i-1if (intervals[i][0] < intervals[i-1][1]) {//重叠count++;//后面区间和当前区间是否重叠 更新右边界intervals[i][1] = fmin(intervals[i][1], intervals[i-1][1]);}}// 返回重复区间数return count;
}

代码二

int cmp(const void *pa, const void *pb)
{return (*(int**)pa)[1] - (*(int**)pb)[1];
}int eraseOverlapIntervals(int** intervals, int intervalsSize, int* intervalsColSize){// 贪心算法if (intervalsSize == 0) {return 0;}// end递增排序qsort(intervals, intervalsSize, sizeof(int*), cmp);int x_end = intervals[0][1];int start;int count = 1;for (int i = 1; i < intervalsSize; i++) {start = intervals[i][0];if (start >= x_end) {// 不相交count++;// 更新不重复区间endx_end = intervals[i][1];}}// 返回重复区间数return intervalsSize - count;
}
http://www.mmbaike.com/news/56870.html

相关文章:

  • 推进人大门户网站建设研究生培训机构排名
  • 网站建设首页模板今日足球最新预测比分
  • iis做的网站为啥打不开营销策划书案例
  • 想开个网站怎么做品牌运营方案
  • wordpress 主题 引入js长沙网站优化体验
  • 怎么查网站是哪家公司做的推广平台网站
  • 网站开发推荐外贸平台哪个网站最好
  • 深圳做网站要如何制作网站链接
  • 广州外贸独立网站制作百度关键词搜索趋势
  • 外包网站开发合同seo建站是什么意思
  • 学习网站建设与管理店铺推广引流的方法
  • 做网站用什么技术百度推广开户费用标准
  • 门户网站建设开发需要注意什么百度扫一扫识别图片
  • 网站你应该知道我说的是什么吧百度怎么进入官方网站
  • 做类似电影天堂的网站违法吗网站提交百度收录
  • 如何做vip微信电影网站百度软件市场
  • 网站分析怎么写亚马逊seo关键词优化软件
  • 做网站的得多少钱经典广告语
  • 品牌设计网站大全网络推广优化seo
  • 高端网站建设的公司营销策划的十个步骤
  • 苏州做网站推广最新最好的磁力搜索
  • 网站seo诊断报告今天的新闻有哪些
  • 温州网站推广效果好永久免费的建站系统有哪些
  • 绍兴专门做网站的公司2023百度秒收录技术
  • 中小学生在线做试卷的网站6北京seo推广
  • ipv6在家做网站万网查询
  • 菏泽做网站公司个人购买链接
  • 域名注册需要什么资料网站优化要做哪些
  • 时时彩网站做号丈哥seo博客工具
  • 品牌建设 政府做什么搜索引擎优化岗位