当前位置:网站首页>605. Planting flowers
605. Planting flowers
2022-07-06 16:07:00 【mrbone9】
Address :
Power button https://leetcode-cn.com/problems/can-place-flowers/
subject :
Suppose there's a very long flower bed , Part of the plot is planted with flowers , The other part didn't . But , Flowers cannot be planted on adjacent plots , They compete for water , Both will die .
Give you an array of integers flowerbed Indicates a flower bed , By a number of 0 and 1 form , among 0 No flowers ,1 It means flowers are planted . There's another number n , Can it be planted without breaking the planting rules n A flower ? Energy returns true , If not, return false.
Example 1:
Input :flowerbed = [1,0,0,0,1], n = 1 Output :true |
Example 2:
Input :flowerbed = [1,0,0,0,1], n = 2 Output :false |
Tips :
1 <= flowerbed.length <= 2 * 104 flowerbed[i] by 0 or 1 flowerbed There are no two adjacent flowers 0 <= n <= flowerbed.length |
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/can-place-flowers
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Ideas :
Consider calculating the current maximum number of new plants , Last sum n Compare , If the maximum number < n , It can't be planted
For one 3 Combination of elements , Possible 1 or 0 New species of , such as :[1,0,0] or [0,1,0] or [0,0,1]
The easiest thing to think of is to look at the current element value :
1. [i] == 1, Possible locations [1,0,0], therefore Subscript +2
2. [i] == 0, Possible locations [0,0,0],[0,0,1], So subscript +2
If [i+1] == 1,[0,1,0] impossible , So subscript +1, +2
3. The last processing of the end element may not be 3 Tuples
[0],[0,0] You need to consider [i-1] Is it 0, If it is 0, that [1],[1,0]
[0,1] Don't have to consider , Because the first two cases 1 The location of has been handled
Method 1 、 Traverse
bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n){
int maxSize = 0;
if(flowerbedSize == 1)
{
if(flowerbed[0] == 0)
maxSize++;
if(maxSize < n)
return false;
else
return true;
}
for(int i=0; i<flowerbedSize; )
{
// [i] == 1
if(flowerbed[i] == 1)
{
i+=2;
continue;
}
// [i] == 0
if(flowerbed[i] == 0)
{
if(i+1 < flowerbedSize)
{
if(flowerbed[i+1] == 0)
{
maxSize++;
i+=2;
continue;
}
i++;
i+=2; // new start
continue;
}
else if(flowerbed[i-1] != 1)
{
maxSize++;
i++;
}
}
}
if(maxSize < n)
return false;
else
return true;
}
边栏推荐
- Research Report of exterior wall insulation system (ewis) industry - market status analysis and development prospect prediction
- 【练习-4】(Uva 11988)Broken Keyboard(破损的键盘) ==(链表)
- Information security - threat detection - detailed design of NAT log access threat detection platform
- Understand what is a programming language in a popular way
- 信息安全-威胁检测-NAT日志接入威胁检测平台详细设计
- [exercise-1] (UVA 673) parentheses balance/ balanced brackets (stack)
- Perform general operations on iptables
- Find 3-friendly Integers
- Basic Q & A of introductory C language
- Auto.js入门
猜你喜欢
b站 實時彈幕和曆史彈幕 Protobuf 格式解析
洛谷P1102 A-B数对(二分,map,双指针)
1010 things that college students majoring in it must do before graduation
Luogu P1102 A-B number pair (dichotomy, map, double pointer)
MySQL import database error [err] 1273 - unknown collation: 'utf8mb4_ 0900_ ai_ ci’
D - function (HDU - 6546) girls' competition
Differential (one-dimensional, two-dimensional, three-dimensional) Blue Bridge Cup three body attack
Penetration test (8) -- official document of burp Suite Pro
渗透测试 ( 8 ) --- Burp Suite Pro 官方文档
[exercise-4] (UVA 11988) broken keyboard = = (linked list)
随机推荐
Analysis of protobuf format of real-time barrage and historical barrage at station B
Socket communication
信息安全-安全专业名称|CVE|RCE|POC|VUL|0DAY
【练习-8】(Uva 246)10-20-30==模拟
Gartner: five suggestions on best practices for zero trust network access
Find 3-friendly Integers
Penetration test (1) -- necessary tools, navigation
Alice and Bob (2021牛客暑期多校训练营1)
Understand what is a programming language in a popular way
渗透测试 ( 2 ) --- 渗透测试系统、靶机、GoogleHacking、kali工具
C language must memorize code Encyclopedia
MySQL import database error [err] 1273 - unknown collation: 'utf8mb4_ 0900_ ai_ ci’
Nodejs+vue online fresh flower shop sales information system express+mysql
Alice and Bob (2021 Niuke summer multi school training camp 1)
【练习-9】Zombie’s Treasure Chest
Analyse du format protobuf du rideau en temps réel et du rideau historique de la station B
Gartner:关于零信任网络访问最佳实践的五个建议
【练习-1】(Uva 673) Parentheses Balance/平衡的括号 (栈stack)
Shell脚本编程
[exercise -10] unread messages