Re: [闲聊] 每日LeetCode

楼主: oin1104 (是oin的说)   2023-11-28 11:20:20
https://i.imgur.com/eY6T9qE.png
2147. 分隔房间的方法
就是说
给你一个S代表椅子 P代表植物的char阵列
然后以两个椅子一组
每一组椅子直接可以插一片板子分开他们
可以插在植物中间 也算一种插法
问有几种插法
像这样
SPPSSPSSS
可以插的地方有
没有 都不能插 哈哈
注意: 椅子如果是单数张 就直接0
然后答案要%1000000007
我的解法是
直接把椅子分组
然后数组跟组之间的植物数量
然后全部乘起来
就可以ㄌ
姆咪
int numberOfWays(char* corridor)
{
int len = strlen(corridor);
long long waysv = 0;
long long way = 1;
long long ssv = 0;
int ans = 0;
int l = 0;
int r = 0;
for(int i = 0 ; i < len ; i ++)
{
if(corridor[i] == 'S')
{
ssv ++;
if(l == 1 && r == 1)
{
way = way % 1000000007;
waysv = waysv % 1000000007;
waysv ++;
way = way * waysv;
waysv = 0;
r = 0;
}
else if(l == 0)
{
l = 1 ;
}
else if ( l == 1)
{
r = 1 ;
}
}
else if(corridor[i] == 'P')
{
if(l == 1 && r == 1)
{
waysv ++;
}
}
}
if((ssv & 1) || (ssv ==0))return 0;
ans = way%1000000007;
return ans;
}
作者: v6SpcNwZQNtR (咕噜咕噜)   2023-11-28 11:25:00
宝 你好聪明
作者: Bill8x1229 (20分钟了还是想不到)   2023-11-28 11:25:00
作者: JIWP (JIWP)   2023-11-28 11:26:00
大师
楼主: oin1104 (是oin的说)   2023-11-28 11:27:00
:D
作者: sustainer123 (caster)   2023-11-28 11:28:00
大师
作者: SydLrio (狂岚嘴砲)   2023-11-28 11:32:00
欧印好棒
作者: Neuenmuller (苏菲・诺伊恩谬拉)   2023-11-28 11:42:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com