阅读视图

发现新文章,点击刷新页面。

平面几何:如何绘制一个星形?

大家好,我是前端西瓜哥。 也是有一个月没写文章了。主要是 AI 太强了,简单的东西已经没有写的必要的,复杂的不好写。但多少还是要写点。 今天我们来绘制 Figma 的星形。 星形的绘制,比较简单,其实

Day01-APIs

1.变量声明 1.1 引用数据类型修改仍可用const 2.API作用与分类 3.什么是DOM 4.DOM树 5.DOM对象(重要) 6.获取DOM对象 6.1 利用css选择器来获取 遍历得到的伪数

react beginwork

这是一个非常核心且深入的问题。beginWork 是 React Fiber 架构中最关键的函数之一。 简单来说,beginWork 是 React Render 阶段(协调阶段) 的“入场口”。Re

微信支付集成_JSAPI

微信支付集成_JSAPI 0.背景 产品接入微信支付,需要实现PC端扫码支付,移动端公众号支付,以及小程序支付.经过调研统一采用微信的JSAPI实现.主要过程分两个大步骤: 下单接口(/v3/pay/

暴力分隔计算,python两行,100% | 2147. 分隔长廊的方案数

Problem: 2147. 分隔长廊的方案数

[TOC]

思路

第一步、计数'S'

如果'S'为0或奇数,不符合题意,直接返回0

第二步、按'S'进行分隔

每2个提取出来,去掉首尾2个 → 中间所有'P'的长度 + 1 → 求积 → 取余 → 返回

image.png

Code

python两行,100%:

时间252 ms击败100%;内存18.8 MB击败38.46%

###Python3

class Solution:
    def numberOfWays(self, corridor: str) -> int:
        if (cnt := corridor.count('S')) == 0 or cnt & 1: return 0
        return reduce(lambda x, y : x * y, map(lambda x : len(x) + 1, [""] + corridor.split('S')[2: -2: 2])) % 1000000007

您若还有不同方法,欢迎贴在评论区,一起交流探讨! ^_^

↓ 点个赞,点收藏,再划走,感谢您支持作者! ^_^

每日一题-分隔长廊的方案数🔴

在一个图书馆的长廊里,有一些座位和装饰植物排成一列。给你一个下标从 0 开始,长度为 n 的字符串 corridor ,它包含字母 'S' 和 'P' ,其中每个 'S' 表示一个座位,每个 'P' 表示一株植物。

在下标 0 的左边和下标 n - 1 的右边 已经 分别各放了一个屏风。你还需要额外放置一些屏风。每一个位置 i - 1 和 i 之间(1 <= i <= n - 1),至多能放一个屏风。

请你将走廊用屏风划分为若干段,且每一段内都 恰好有两个座位 ,而每一段内植物的数目没有要求。可能有多种划分方案,如果两个方案中有任何一个屏风的位置不同,那么它们被视为 不同 方案。

请你返回划分走廊的方案数。由于答案可能很大,请你返回它对 109 + 7 取余 的结果。如果没有任何方案,请返回 0 。

 

示例 1:

输入:corridor = "SSPPSPS"
输出:3
解释:总共有 3 种不同分隔走廊的方案。
上图中黑色的竖线表示已经放置好的屏风。
上图每种方案中,每一段都恰好有 两个 座位。

示例 2:

输入:corridor = "PPSPSP"
输出:1
解释:只有 1 种分隔走廊的方案,就是不放置任何屏风。
放置任何的屏风都会导致有一段无法恰好有 2 个座位。

示例 3:

输入:corridor = "S"
输出:0
解释:没有任何方案,因为总是有一段无法恰好有 2 个座位。

 

提示:

  • n == corridor.length
  • 1 <= n <= 105
  • corridor[i] 要么是 'S' ,要么是 'P'
❌