zoukankan      html  css  js  c++  java
  • 剑指 Offer 13. 机器人的运动范围

    public int movingCount(int m, int n, int k) {  //暴力法?
            boolean[][] visited = new boolean[m][n];
            return move_count(m,n,k,0,0,visited);
        }
    
        private int move_count(int m, int n, int k, int row_start,int col_start, boolean[][] visited) {
            if(row_start<0 || row_start ==m || col_start<0 || col_start == n) return 0;
            if(!visited[row_start][col_start]) {
                visited[row_start][col_start] = true;
                int h = 0;
                int x = row_start, y = col_start;
                while (x >= 10) {
                    h += x % 10;
                    x = x / 10;
                }
                while (y >= 10) {
                    h += y % 10;
                    y = y / 10;
                }
                h = h + x + y;
                if (h <= k) {
                    return 1+ move_count(m, n, k, row_start + 1, col_start, visited)
                            + move_count(m, n, k, row_start - 1, col_start,visited)
                            +move_count(m, n, k, row_start, col_start + 1, visited)
                            +move_count(m, n, k, row_start, col_start - 1,  visited);
                }
            }
            return 0;
        }

     深度优先遍历,递归

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    数据结构前言
    Linux---远程连接、命令行基础、文件及目录管理
    HTTP协议
    Docker---dockerfile
    Docker---指令
    Docker---介绍
    进程模块的使用
    numpy---(精简)
    OpenJudge/Poj 2105 IP Address
    OpenJudge 2786 Pell数列
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13457932.html
Copyright © 2011-2022 走看看