当前位置:网站首页>Simulation volume leetcode [general] 1706 Where does the ball meet
Simulation volume leetcode [general] 1706 Where does the ball meet
2022-07-07 08:55:00 【Encounter simulation volume】
Summary : Simulation volume Leetcode Summary of questions
1706. Where the ball will go
Use a size of m x n 2-D grid of grid It means a box . Do you have n Ball . The top and bottom of the box are open .
Each cell in the box has a diagonal baffle , Across the two corners of the cell , You can direct the ball to the left or right .
Guide the ball to the right baffle across the upper left and lower right , Use... In the grid 1 Express .
Guide the ball to the left baffle across the upper right and lower left , Use... In the grid -1 Express .
At the top of each box . Every ball can get stuck in the box or fall from the bottom . If the ball happens to be stuck between the two baffles “V” Shape patterns , Or guided by a block to either side of the box , It will get stuck .
Return a size of n Array of answer , among answer[i] On top of the ball is i The subscript of the column falling from the bottom after the column , If the ball gets stuck in the box , Then return to -1 .
Example 1:
Input :grid = [[1,1,1,-1,-1],[1,1,1,-1,-1],[-1,-1,-1,1,1],[1,1,1,1,-1],[-1,-1,-1,-1,-1]]
Output :[1,-1,-1,-1,-1]
explain : The sample is shown in figure :
b0 The ball starts to be in the second position 0 On the column , Finally from the bottom of the box 1 List out .
b1 The ball starts to be in the second position 1 On the column , It's going to get stuck in the second 2、3 Column and the first 1 Between lines “V” Xingli .
b2 The ball starts to be in the second position 2 On the column , It's going to get stuck in the second 2、3 Column and the first 0 Between lines “V” Xingli .
b3 The ball starts to be in the second position 3 On the column , It's going to get stuck in the second 2、3 Column and the first 0 Between lines “V” Xingli .
b4 The ball starts to be in the second position 4 On the column , It's going to get stuck in the second 2、3 Column and the first 1 Between lines “V” Xingli .
Example 2:
Input :grid = [[-1]]
Output :[-1]
explain : The ball is stuck on the left side of the box .
Example 3:
Input :grid = [[1,1,1,1,1,1],[-1,-1,-1,-1,-1,-1],[1,1,1,1,1,1],[-1,-1,-1,-1,-1,-1]]
Output :[0,1,2,3,4,-1]
Tips :
m == grid.length
n == grid[i].length
1 <= m, n <= 100
grid[i][j] by 1 or -1
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/where-will-the-ball-fall
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Code :
from leetcode_python.utils import *
class Solution:
def findBall(self, grid: List[List[int]]) -> List[int]:
n = len(grid[0])
res = [-1]*n
for j in range(n):
col = j
for row in grid:
dir = row[col]
col += dir
if col<0 or col==n or row[col]!=dir: break
else:
res[j]=col
return res
def test(data_test):
s = Solution()
data = data_test # normal
# data = [list2node(data_test[0])] # list turn node
return s.getResult(*data)
def test_obj(data_test):
result = [None]
obj = Solution(*data_test[1][0])
for fun, data in zip(data_test[0][1::], data_test[1][1::]):
if data:
res = obj.__getattribute__(fun)(*data)
else:
res = obj.__getattribute__(fun)()
result.append(res)
return result
if __name__ == '__main__':
datas = [
[],
]
for data_test in datas:
t0 = time.time()
print('-' * 50)
print('input:', data_test)
print('output:', test(data_test))
print(f'use time:{
time.time() - t0}s')
remarks :
GitHub:https://github.com/monijuan/leetcode_python
CSDN Summary : Simulation volume Leetcode Summary of questions
You can add QQ Group communication :1092754609
leetcode_python.utils See the description on the summary page for details
First brush questions , Then generated by script blog, If there is any mistake, please leave a message , I see it will be revised ! thank you !
边栏推荐
- NCS Chengdu Xindian interview experience
- Explain Huawei's application market in detail, and gradually reduce 32-bit package applications and strategies in 2022
- MySQL主从延迟的解决方案
- Calling the creation engine interface of Huawei game multimedia service returns error code 1002, error message: the params is error
- Greenplum 6.x reinitialization
- Mock.js用法详解
- Digital triangle model acwing 1027 Grid access
- Greenplum6.x搭建_环境配置
- Greenplum6.x搭建_安装
- [Yugong series] February 2022 U3D full stack class 005 unity engine view
猜你喜欢
Mountaineering team (DFS)
[Yugong series] February 2022 U3D full stack class 005 unity engine view
Simple use of Xray
Rapid integration of authentication services - harmonyos platform
LeetCode 715. Range module
Greenplum 6.x monitoring software setup
数字三角形模型 AcWing 1027. 方格取数
为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾
Platformization, a fulcrum of strong chain complementing chain
LeetCode 715. Range 模块
随机推荐
Why choose cloud native database
QT charts use (rewrite qchartview to realize some custom functions)
模拟卷Leetcode【普通】1706. 球会落何处
JS的操作
Explain Huawei's application market in detail, and gradually reduce 32-bit package applications and strategies in 2022
阿里p8手把手教你,自动化测试应该如何实现多线程?赶紧码住
Qt Charts使用(重写QChartView,实现一些自定义功能)
[南京大学]-[软件分析]课程学习笔记(一)-introduction
NCS Chengdu Xindian interview experience
Analysis of abnormal channel number information before and after AGC re signature service
[MySQL] detailed explanation of trigger content of database advanced
硬件大熊原创合集(2022/06更新)
Greenplum 6.x common statements
Routing information protocol rip
Test pits - what test points should be paid attention to when adding fields to existing interfaces (or database tables)?
Synchronized underlying principle, volatile keyword analysis
Greenplum6.x搭建_环境配置
如何统计项目代码行数
Digital triangle model acwing 1027 Grid access
【istio简介、架构、组件】