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

品牌网站建设四川网络推广外包哪个公司做的比较好

品牌网站建设四川,网络推广外包哪个公司做的比较好,不正规网站制作,wordpress免费模板链接 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中…

链接
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false 。

示例 1:

输入:flowerbed = [1,0,0,0,1], n = 1
输出:true

示例 2:

输入:flowerbed = [1,0,0,0,1], n = 2
输出:false

提示:

1 <= flowerbed.length <= 2 * 104
flowerbed[i] 为 0 或 1
flowerbed 中不存在相邻的两朵花
0 <= n <= flowerbed.length

1.暴力求解

从数组的首个元素开始判断是否种花,判断当前位置的前后位置是否种花,要注意数组越界问题和首地址和尾地址位置问题。

bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n){int i=0;if(n==0){return true;}if(flowerbedSize==1){if(flowerbed[i]==0){flowerbed[i]==1;n--;i++;}}while(i<flowerbedSize){if(i==0){if(flowerbed[0]==0&&flowerbed[1]==0){flowerbed[i]==1;n--;i+=2;}else{i+=2;}}else if(i==flowerbedSize-1){if(flowerbed[i]==0&&flowerbed[i-1]==0){flowerbed[i]=1;n--;}else{i++;}} else if(flowerbed[i]==1){i+=2;}else if(flowerbed[i]==0&&i>0&&flowerbed[i-1]==0&&flowerbed[i+1]==0&&i+1<flowerbedSize){flowerbed[i]==1;n--;i+=2;}else if(flowerbed[i+1]==1&&i+1<flowerbedSize){i+=3;}else{i+=2;}}if(n<=0){return true;}else{return false;}
}
2.暴力优化

可以优化下知道在什么情况下可以种花,当不处于临界位置的时候,如果当前位置的值为0,前面一个位置和后面一个位置的值都为0,就可以种花,当第一个位置和第二个位置的值或者最后一个位置的值和前一个位置的值为0的时候也可以种花。要注意数组越界的问题。

bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n){                                                for(int i=0;i<flowerbedSize;i++){// printf("i=%d\n",i);if(flowerbed[i]==0&&(i==0||flowerbed[i-1]==0)&&(((i+1<flowerbedSize)&&(flowerbed[i+1]==0))||i==flowerbedSize-1)){flowerbed[i]=1;n--;}}return n<=0;
}
0求解法

长度为1且值为0,直接种植,如果元素不全为0统计0的个数如果连续三个1就可以种一个,如果全为0,如果长度为2,只能种一个,否则就是0的个数除以2加1

bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n){                                                int count=0,i,sum=0,flage=0;if(flowerbedSize==1){if(flowerbed[0]==0){return true;}}if(flowerbed[0]==0){count++;}for(i=0;i<flowerbedSize;i++){if(flowerbed[i]==0){count++;}else if(count>=2){flage=1;sum+=(count-1)/2;count=0;}else if(count<2){count=0;flage=1;}}if(count>=2){if(flage==0){if(count==2){sum-=1;}else{sum+=count/2;}}else{if(count==2){sum+=1;}else{if(count%2==0){sum+=count/2;}else{sum+=(count-1)/2;}}}}if(sum>=n){return true;}else{return false;}
}
http://www.mmbaike.com/news/62015.html

相关文章:

  • 网站js 做日历江门网站定制多少钱
  • 国外网站设计理念成功的软文推广
  • 在天津做网站的公司seo 优化 工具
  • 学雷锋做美德少年网站网店营销策略有哪些
  • 丝袜网站建设经验怎么提交百度收录
  • 深圳物流公司招聘司机青岛seo服务哪家好
  • 深圳购物网站新闻发布会新闻通稿
  • 网站制作找哪个百度seo优化推广
  • 网站怎么企业备案环球资源外贸平台免费
  • 深圳市国外网站建设服务机构域名是什么
  • 网站备案 价格香港疫情最新消息
  • 制作个人博客网站中国楼市最新消息
  • 广东上海专业网站建设公司百度指数功能有哪些
  • wordpress安装好了怎么登陆网站上海平台推广的公司
  • 有网站前台外包公司排名
  • 学习java可以自己做网站吗个人博客网站搭建
  • 怎么做网站的百度收录海南seo排名优化公司
  • 赌博平台网站怎么做新手seo入门教程
  • 网站开发包括网站的 等过程营销策略分析论文
  • 网站怎么做谷歌推广必应搜索引擎国际版
  • 子页面的网站地址怎么做哪里做网络推广
  • 亚购物车功能网站怎么做的搜收录网
  • 用php做网站的优势微信推广平台收费标准
  • 沧县网站制作蜘蛛搜索
  • 内部网站 建设方案百度百度推广
  • 福州网站建设兼职免费网站软件推荐
  • 上饶做网站哪家好长春网络科技公司排名
  • 男女做暧昧视频网站网站推广排名哪家公司好
  • 浙江住房和城乡建设部网站手机网站关键词seo
  • 怎么制作wap网站销售找客户的app