力扣 LCP22 黑白方格畫

2021-10-21 07:28:13 字數 994 閱讀 5088

小釦注意到秋日市集上有乙個創作黑白方格畫的攤位。攤主給每個顧客提供乙個固定在牆上的白色畫板,畫板不能轉動。畫板上有 n * n 的網格。繪畫規則為,小釦可以選擇任意多行以及任意多列的格仔塗成黑色,所選行數、列數均可為 0。

小釦希望最終的成品上需要有 k 個黑色格仔,請返回小釦共有多少種塗色方案。

注意:兩個方案中任意乙個相同位置的格仔顏色不同,就視為不同的方案。

示例 1:

輸入:n = 2, k = 2

輸出:4

解釋:一共有四種不同的方案:

第一種方案:塗第一列;

第二種方案:塗第二列;

第三種方案:塗第一行;

第四種方案:塗第二行。

示例 2:

輸入:n = 2, k = 1

輸出:0

解釋:不可行,因為第一次塗色至少會塗兩個黑格。

示例 3:

輸入:n = 2, k = 4

輸出:1

解釋:共有 2*2=4 個格仔,僅有一種塗色方案。

限制:1 <= n <= 6

0 <= k <= n * n

核心是抽象出「n*(i+j)-i*j==k」方程,

然後在得到一組i和j時還要考慮到排列組合,

另外還要注意下不同n和k的特殊情況,如k==0,k==n*n

class

solution}}

return cou;

}public

static

intfunc

(int n,

int i,

int j)

public

static

intjiecheng

(int n)

return res;

}}

public

static

intfactorial

(int n)

力扣 22括號生成

22.括號生成 難度中等942收藏分享切換為英文關注反饋 數字 n 代表生成括號的對數,請你設計乙個函式,用於能夠生成所有可能的並且有效的括號組合。示例 輸入 n 3輸出 思路 我想的是先把所有情況弄出來,然後再刪選出合適的,缺點 複雜度很高 怎麼把左右情況弄出來 用遞迴,你的字元除了 之外就是 所...

力扣 LCP08劇情觸發時間

題目描述 在戰略遊戲中,玩家往往需要發展自己的勢力來觸發各種新的劇情。乙個勢力的主要屬性有三種,分別是文明等級 c 資源儲備 r 以及人口數量 h 在遊戲開始時 第 0 天 三種屬性的值均為 0。隨著遊戲程序的進行,每一天玩家的三種屬性都會對應增加,我們用乙個二維陣列 increase 來表示每天的...

力扣22 括號生成(動態規劃)

力扣22.括號生成 動態規劃 數字 n 代表生成括號的對數,請你設計乙個函式,用於能夠生成所有可能的並且 有效的 括號組合。示例 1 輸入 n 3 輸出 示例 2 輸入 n 1 輸出 1 n 8 反思 首先,面向小白 什麼是動態規劃?在此題中,動態規劃的思想類似於數學歸納法,當知道所有 i當我們清楚...