We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.

Ha! So true. I converted the ints to strings to convert them into lists, and solved the problem. I never noticed that I never converted each char in the array back to an int for comparison, but everything worked! Plus, I saw something about 75 lines above?

You replace the element with 'X' while iterating, and again whn you are checking the previous element with [j-1] , if it is 'X' it will check if your element is greater than 'X'., so you should check if your [j-1] or [i-1] is 'X' or not. Just add this to your if statement.

## Cavity Map

You are viewing a single comment's thread. Return to all comments →

Use Python. You don't have to worry about the type. :P

Ha! So true. I converted the ints to strings to convert them into lists, and solved the problem. I never noticed that I never converted each char in the array back to an int for comparison, but everything worked! Plus, I saw something about 75 lines above?

How did you mutate the str object?

n = int(input())

a = []

for i in range(n):

for i in range(1,n-1):

for i in range(n):

Can you tell me what the error is?

you can make your code more readable if you stack the if statement like this

I also fixed the error in the code. the for loop in your code had j+1 for both the first and second check.

grid[i][j]>=grid[i-1][j-1] && grid[i][j]>=grid[i-1][j] && grid[i][j]>=grid[i-1][j+1] && grid[i][j]>=grid[i][j-1] && grid[i][j]>=grid[i][j+1] && grid[i][j]>=grid[i+1][j-1] && grid[i][j]>=grid[i+1][j] && grid[i][j]>=grid[i+1][j+1]

how can you compare str values? You first have to convert in into string then you can compare the values

You replace the element with 'X' while iterating, and again whn you are checking the previous element with [j-1] , if it is 'X' it will check if your element is greater than 'X'., so you should check if your [j-1] or [i-1] is 'X' or not. Just add this to your if statement.

Python can evaluate strings including numbers and letters

As you iterate through the grid the cavities are marked with the

`'X'`

where all the adjacent cells are less than. For examplereturns with no cavities as

`9`

and`9`

are equal.If we replace with an

`X`

it is because the surrounding cells evaluate as less than.So if

`9 > 8`

so too is`X > 8`

so the relationship between the cells is maintained and there is no need to check for`X`

how does line 3 and 4 work in python??