日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的ans是什么意思_python ans

發布時間:2023/12/19 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的ans是什么意思_python ans 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從第1行開始。繼續前進,直到第一個1。然后跳至第2行,但仍留在同一列中,重復右移的過程,直到您點擊為止1。重復執行此操作。您上一步右移的行就是您的答案。

這是一個O(N + M)解(對于NxM矩陣,或者對于正方形NxN矩陣為O(N),如問題所示)。

使用您的示例:

0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 該.是在這里代表走過的路徑:

. . 1 1 0 . . . 0 0 0 . . Last right step, therefore this is our answer 1 1 1 1 . 該解決方案適用于非正方形矩陣,對于NxM矩陣保留最壞情況下的O(N + M)效率。

為什么這樣做?保證數字將被排序意味著每行將是一系列0,然后是一系列1。因此,一行的大小等于您在擊中1之前可以走的最遠距離。因此,如果一行只要跟隨0就能使您走得更遠,那么它必須比我們之前處理的任何內容都要長。

Python代碼:

li = [[0, 1, 1, 1], [0, 0, 0, 1], [0, 0, 0, 0], [1, 1, 1, 1]]

ans, j = 0, 0 for i, row in enumerate(li): while j < len(row) and row[j] == 0: j += 1 ans = i

print "Row", ans+1, "".join(map(str, li[ans])) 由于始終具有正方形NxN矩陣和不同的行,因此存在一個更簡單的解決方案。它們在一起意味著值最低的行將為0 0 ... 0 1或0 0 ... 0 0。這是因為矩陣中代表N + 1個可能的數字中的N個,因此“缺失”數字要么為0(在這種情況下,表示的最小值為1),要么為其他數值(最小值為0)。

掌握了這些知識之后,我們從右邊第二列開始檢查是否為0。找到一個時,我們向右看,如果包含另一個0,我們得到答案(只能有一行以a結尾0)。否則,我們將繼續在該列中搜索另一個0。如果找不到另一個0,則找到的第一個是我們要查找的行(只能有一個以結尾結尾的行01,因為沒有一個結尾為00,這是最小的)。

Python代碼:

li = [[0, 1, 1, 1], [0, 0, 0, 1], [0, 0, 0, 0], [1, 1, 1, 1]]

for i, row in enumerate(li): if row[-2] == 0: ans = i if row[-1] == 0: break

print "Row", ans+1, "".join(map(str, li[ans])) 該解決方案可以最輕松地回答O(N)的問題,但是將其推廣到處理非平方NxM矩陣或非唯一數字將使其最壞情況的效率為O(N ^ 2)。我個人更喜歡第一個解決方案。

總結

以上是生活随笔為你收集整理的python中的ans是什么意思_python ans的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。