国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Android Unlock Patterns

zhaot / 2597人閱讀

摘要:題目鏈接這道題做,關(guān)鍵是注意對(duì)稱性,減少次數(shù)。同時(shí)注意第個(gè)條件這種情況發(fā)生在兩個(gè)值的和差值沒有的時(shí)候,也就是或者,也是同理。

Android Unlock Patterns

題目鏈接:https://leetcode.com/problems...

這道題dfs做,關(guān)鍵是注意對(duì)稱性,減少dfs次數(shù)。同時(shí)注意第3個(gè)條件 No jumps through non selected key is allowed. 這種情況發(fā)生在兩個(gè)值的x和y差值沒有1的時(shí)候,也就是abs(nx-x) == 2或者abs(nx - x) == 0,y也是同理。

public class Solution {
    public int numberOfPatterns(int m, int n) {
        /* subproblem: dp[depth][i][j] = sum(dp[depth + 1][ni][nj]) if valid  
         */
        int count = 0;
        // start position: symmetry
        // 1, 3, 7, 9 and 2, 4, 6, 8
        boolean[][] visited = new boolean[3][3];
        count += dfs(m, n, 0, 0, 1, visited) * 4;
        count += dfs(m, n, 0, 1, 1, visited) * 4;
        count += dfs(m, n, 1, 1, 1, visited);
        return count;
    }

    private int dfs(int m, int n, int x, int y, int depth, boolean[][] visited) {
        int count = 0;
        if(depth == n) {
            count++;
            return count;
        }
        if(depth >= m) count++;
        visited[x][y] = true;
        // next step
        for(int i = 0; i < 3; i++) {
            for(int j = 0; j < 3; j++) {
                if(!visited[i][j]) {
                    // previous position was not visited
                    if(Math.abs(i - x) != 1 && Math.abs(j - y) != 1 && !visited[(i+x)/2][(j+y)/2]) continue;
                    count += dfs(m, n, i, j, depth + 1, visited);
                }
            }
        }
        visited[x][y] = false;
        return count;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/66637.html

相關(guān)文章

  • Android 開發(fā)資源之新手必讀

    摘要:這里只挑選那些每天日常用到的庫(kù),這些是每個(gè)開發(fā)新手必須知道的。新聞一個(gè)免費(fèi)的新聞周報(bào),能讓你知道最前沿開發(fā)資訊。工具這是一個(gè)應(yīng)用程序崩潰時(shí),令程序自動(dòng)發(fā)送一個(gè)格式的崩潰報(bào)告的庫(kù)。一個(gè)新的開發(fā)環(huán)境,基于。 showImg(http://segmentfault.com/img/bVbG7a); 這里是一系列和 Android 應(yīng)用開發(fā)相關(guān)的資源。這里只挑選那些每天日常用到的庫(kù),這些是每...

    Pandaaa 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

zhaot

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<