当前位置:网站首页>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;
}
边栏推荐
- Opencv learning log 16 paperclip count
- Perform general operations on iptables
- Find 3-friendly Integers
- 【练习-8】(Uva 246)10-20-30==模拟
- Opencv learning log 18 Canny operator
- C language learning notes
- frida hook so层、protobuf 数据解析
- 【练习-7】(Uva 10976)Fractions Again?!(分数拆分)
- 信息安全-威胁检测-flink广播流BroadcastState双流合并应用在过滤安全日志
- Information security - threat detection - Flink broadcast stream broadcaststate dual stream merging application in filtering security logs
猜你喜欢
Ball Dropping
Nodejs+vue online fresh flower shop sales information system express+mysql
Penetration test (7) -- vulnerability scanning tool Nessus
D - Function(HDU - 6546)女生赛
树莓派4B安装opencv3.4.0
滲透測試 ( 1 ) --- 必備 工具、導航
Penetration test (2) -- penetration test system, target, GoogleHacking, Kali tool
Frida hook so layer, protobuf data analysis
7-1 懂的都懂 (20 分)
Analysis of protobuf format of real-time barrage and historical barrage at station B
随机推荐
HDU-6025-Coprime Sequence(女生赛)
Information security - Analysis of security orchestration automation and response (soar) technology
Analyse du format protobuf du rideau en temps réel et du rideau historique de la station B
If you want to apply for a programmer, your resume should be written like this [essence summary]
渗透测试 ( 1 ) --- 必备 工具、导航
Information security - security professional name | CVE | rce | POC | Vul | 0day
HDU - 6024 building shops (girls' competition)
Research Report on shell heater industry - market status analysis and development prospect forecast
【练习-3】(Uva 442)Matrix Chain Multiplication(矩阵链乘)
Flink 使用之 CEP
b站 實時彈幕和曆史彈幕 Protobuf 格式解析
Determine the Photo Position
[exercise-8] (UVA 246) 10-20-30== simulation
Penetration test (1) -- necessary tools, navigation
MySQL import database error [err] 1273 - unknown collation: 'utf8mb4_ 0900_ ai_ ci’
【练习-7】Crossword Answers
Ball Dropping
Research Report of exterior wall insulation system (ewis) industry - market status analysis and development prospect prediction
想应聘程序员,您的简历就该这样写【精华总结】
Truck History