当前位置:网站首页>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 !
边栏推荐
- Synchronized underlying principle, volatile keyword analysis
- Interpolation lookup (two methods)
- Count sort (diagram)
- 【ChaosBlade:节点磁盘填充、杀节点上指定进程、挂起节点上指定进程】
- Led analog and digital dimming
- [MySQL] detailed explanation of trigger content of database advanced
- Analysis of using jsonp cross domain vulnerability and XSS vulnerability in honeypot
- Golang etcdv3 reports an error. The attribute in grpc does not exist
- Skills that testers must know: Selenium's three waiting ways are interpreted clearly
- 面试题:高速PCB一般布局、布线原则
猜你喜欢

ncs成都新電面試經驗

Category of IP address

【MySQL】数据库进阶之触发器内容详解

How to integrate app linking services in harmonyos applications
![[Yugong series] February 2022 U3D full stack class 005 unity engine view](/img/19/dc1b2f74b9ec5f5808de3049793862.jpg)
[Yugong series] February 2022 U3D full stack class 005 unity engine view

About using CDN based on Kangle and EP panel

Greenplum 6.x monitoring software setup

Esp32-ulp coprocessor low power mode RTC GPIO interrupt wake up

How to realize sliding operation component in fast application

Platformization, a fulcrum of strong chain complementing chain
随机推荐
NCS Chengdu New Electric interview Experience
Greenplum 6.x common statements
Uniapp wechat applet monitoring network
【istio简介、架构、组件】
Analysis of using jsonp cross domain vulnerability and XSS vulnerability in honeypot
xray的简单使用
Image segmentation in opencv
Vagrant failed to mount directory mount: unknown filesystem type 'vboxsf'
Redis summary
平台化,强链补链的一个支点
Led analog and digital dimming
[Nanjing University] - [software analysis] course learning notes (I) -introduction
使用Typora编辑markdown上传CSDN时图片大小调整麻烦问题
【踩坑】nacos注册一直连接localhost:8848,no available server
Three series of BOM elements
Mock. JS usage details
PPT模板、素材下载网站(纯干货,建议收藏)
RuntimeError: Calculated padded input size per channel: (1 x 1). Kernel size: (5 x 5). Kernel size c
【MySQL】数据库进阶之触发器内容详解
let const