Code Signal_练习题_Minesweeper

In the popular Minesweeper game you have a board with some mines and those cells that don‘t contain a mine have a number in it that indicates the total number of mines in the neighboring cells. Starting off with some arrangement of mines we want to create a Minesweeper game setup.

Example

For

matrix = [[true, false, false],
          [false, true, false],
          [false, false, false]]

the output should be

minesweeper(matrix) = [[1, 2, 1],
                       [2, 1, 1],
                       [1, 1, 1]]

Check out the image below for better understanding:

不会做.....

def minesweeper(matrix):
    r = []

    for i in range(len(matrix)):
        r.append([])
        for j in range(len(matrix[0])):
            l = -matrix[i][j]
            for x in [-1, 0, 1]:
                for y in [-1, 0, 1]:
                    if 0 <= i + x < len(matrix) and 0 <= j + y < len(matrix[0]):
                        l += matrix[i + x][j + y]

            r[i].append(l)
    return r

膜拜大佬

原文地址:https://www.cnblogs.com/YD2018/p/9465391.html

时间: 2024-10-13 01:32:02

Code Signal_练习题_Minesweeper的相关文章

Code Signal_练习题_shapeArea

A 1-interesting polygon is just a square with a side of length 1. An n-interesting polygon is obtained by taking the n - 1-interesting polygon and appending 1-interesting polygons to its rim, side by side. You can see the 1-, 2-, 3- and 4-interesting

Code Signal_练习题_All Longest Strings

Given an array of strings, return another array containing all of its longest strings. Example For inputArray = ["aba", "aa", "ad", "vcd", "aba"], the output should beallLongestStrings(inputArray) = ["

Code Signal_练习题_matrixElementsSum

After they became famous, the CodeBots all decided to move to a new building and live together. The building is represented by a rectangular matrix of rooms. Each cell in the matrix contains an integer that represents the price of the room. Some room

Code Signal_练习题_isLucky

Ticket numbers usually consist of an even number of digits. A ticket number is considered lucky if the sum of the first half of the digits is equal to the sum of the second half. Given a ticket number n, determine if it's lucky or not. Example For n

Code Signal_练习题_commonCharacterCount

Given two strings, find the number of common characters between them. Example For s1 = "aabcc" and s2 = "adcaa", the output should becommonCharacterCount(s1, s2) = 3. Strings have 3 common characters - 2 "a"s and 1 "c&qu

Code Signal_练习题_Are Similar?

Two arrays are called similar if one can be obtained from another by swapping at most one pair of elements in one of the arrays. Given two arrays a and b, check whether they are similar. Example For a = [1, 2, 3] and b = [1, 2, 3], the output should

Code Signal_练习题_variableName

Correct variable names consist only of English letters, digits and underscores and they can't start with a digit. Check if the given string is a correct variable name. Example For name = "var_1__Int", the output should bevariableName(name) = tru

Code Signal_练习题_chessBoardCellColor

Given two cells on the standard chess board, determine whether they have the same color or not. Example For cell1 = "A1" and cell2 = "C3", the output should bechessBoardCellColor(cell1, cell2) = true. For cell1 = "A1" and cel

Code Signal_练习题_alphabeticShift

Given a string, replace each its character by the next one in the English alphabet (z would be replaced by a). Example For inputString = "crazy", the output should bealphabeticShift(inputString) = "dsbaz". 我的解答: def alphabeticShift(inp