自己的思路:直接遍历一遍,如果当前位置可以种花则种,最后跟0比较决定返回true/false。

学习别人的代码风格&&思路(直接跳格子,这样也不会对原来的数组进行修改)
(1)当遇到1时,说明这个位置有花,那必然从index+2的位置才有可能种花,因此当碰到1时直接跳过下一格。
(2)当遇到0时,由于1都是跳两格,所以前面必然是0,此时看一下后面是0吗,是?此时能种花,然后把当前格看成1继续跳两格。不是?跳三格。

class Solution {public:bool canPlaceFlowers(vector<int>& flowerbed, int m) {int n = flowerbed.size();int i = 0;while (i < n && m) { //m写在这里好一点,如果m一开始就是0的话就不会进入循环if (flowerbed[i] == 1) i += 2;else {if (i + 1 == n || flowerbed[i + 1] == 0) { //这样不用分情况得到后一位,因为||必须前面满足才会得到后一项m--;i += 2;}else {i += 3;}}}return m == 0; //直接跟0比较返回,不用写条件表达式}
};

leetcode605.种花问题(简单)相关推荐

  1. Leetcode605. 种花问题(C语言)

    Leetcode605. 种花问题(C语言) 算法-贪心思想:算法与数据结构参考 题目: 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花卉不能种植在相邻的地块上,它们会争夺水源, ...

  2. 跳格子/贪心算法例题详解:LeetCode605.种花问题

    今天做了一道很有意思的题目,虽然是分属于贪心算法的一个题目,但是解法多样,十分有趣,且不是很难理解,所以想在这里分享给大家. 题目描述: 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是 ...

  3. leetcode-605. 种花问题

    贪心算法 种花问题 题目详情 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给你一个整数数组 flowerbed 表示花坛, ...

  4. 左耳听风 第四十九周

    左耳听风 第四十九周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  5. 如何学好C语言--你的学渣朋友告诉你

    光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...

  6. 剑指offer第2版Python题解(更新中)

    O(n^2)排序 冒泡排序.插入排序与选择排序(Python)_NLP_victor的博客-CSDN博客 归并 归并排序(Python)_NLP_victor的博客-CSDN博客 快排 快速排序(Py ...

  7. 个人LeetCode刷题记录(带题目链接及解答)持续更新

    Leetcode 刷题 注:~[完成]代表还有一些方法没看,最后再看 一.一些需要重刷的典型题: 1.快速排序,归并排序,堆排序(递归的思想) 2.链表中的回文链表,其中的快慢指针,多看,多练 3.链 ...

  8. 源 arm_arm和X86处理器性能简单测试

    写在最前面 说了这个测试主要是想说arm和X86的IPC(同频性能),评论一群文章都没好好看的人说这不能比那不能比的半吊子真的要把我搞气了.还有说Gamss慢的人,至少全中国也找不出几个能写出来这种软 ...

  9. LeetCode_数组_简单题

    目录 26.删除排序数组中的重复项 27.移除元素 53.最大子序和 66.加一 88.合并两个有序数组 118.杨辉三角形 119.杨辉三角形II 717.1比特与2比特字符 989.数组形式的整数 ...

最新文章

  1. 字节跳动的敌人,只有时间
  2. 报告 | 从20世纪70年代至今,自动驾驶汽车的发展经历了哪些历史性的变革?
  3. 提升ListView的运行效率
  4. 【转】GLSL资料收集
  5. Lintcode---统计比给定整数小的数的个数
  6. Sery送的书与网站短信解决方案
  7. java employee list_JSP中List中的$ {employee.id}抛出java.lang.NumberFormat
  8. oracle组合数据类型,oracle复合数据类型-相关方法
  9. 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码...
  10. 190713每日一句
  11. 语音压缩编解码器:lyra
  12. 泛微自带第三方短信接口
  13. linux下编译opencv的无kuda版本,自定义路径
  14. 采用计算机教学的优点,小学计算机教学的特点与重点
  15. 《周一清晨的领导课》笔记-NO.1
  16. 身份证读卡器 护照阅读器,如何能做到读取多证件呢?
  17. 微信公众号后台服务开发(一):自动消息回复
  18. 【TcaplusDB知识库】表操作—如何克隆表结构
  19. AI世界依旧在“风起云涌”中变化
  20. 【学习笔记】前端开发面试锦集

热门文章

  1. 60天完美口才打造计划
  2. 好消息!2021数据中台TOP50出炉!智领云榜上有名!
  3. BIOS识别不了U盘?
  4. 企业如何利用优惠政策进行税收筹划?
  5. 机器学习--没有免费的午餐定理
  6. 北漂生活第二十弹-只想在舒适区躺平【后端开发实习】
  7. linux 修改密码 BAD PASSWORD 解决方法
  8. 代码太长看不懂怎么办
  9. non_blocking参数的设置。
  10. VSCode插件之View In Browser/Open in Browser‘在浏览器中查看’