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