小釦注意到秋日市集上有乙個創作黑白方格畫的攤位。攤主給每個顧客提供乙個固定在牆上的白色畫板,畫板不能轉動。畫板上有 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當我們清楚...