給定乙個數字n
,當它滿足以下條件的時候返回true
:
把原數字旋轉180°以後得到新的數字。
如 0, 1, 6, 8, 9 旋轉 180° 以後,得到了新的數字 0, 1, 9, 8, 6 。
2, 3, 4, 5, 7 旋轉 180° 後,得到的不是數字。
易混淆數字 (confusing number) 就是乙個數字旋轉180°以後,得到和原來不同的數字,且新數字的每一位都是有效的。
例:
輸出:true解釋:把 6 旋轉 180° 以後得到 9,9 是有效數字且 9!=6 。輸入:89輸出:true解釋:把 89 旋轉 180° 以後得到 68,86是有效數字且 86!=89 。輸入:11
輸出:false解釋:把 11 旋轉 180° 以後得到 11,11 是有效數字但是值保持不變,所以 11 不是易混淆數字。
思路:簽到題,注意是選擇180度。判斷是否存在2,3,4,5,7,然後翻轉判斷是否相等。
class solution:
def confusingnumber(self, n: int) -> bool:
n=int(n)
dic=
s=n=str(n)
for i in n[::-1]:
if i in dic:
else:
return false
if int("".join(s))==int(n):
return false
else:
return true
在由 2d 網格表示的校園裡有n
位工人(worker
)和m
輛自行車(bike
),n <= m
。所有工人和自行車的位置都用網格上的 2d 座標表示。
我們需要為每位工人分配一輛自行車。在所有可用的自行車和工人中,我們選取彼此之間曼哈頓距離最短的工人自行車對 (worker, bike) ,並將其中的自行車分配給工人。如果有多個 (worker, bike) 對之間的曼哈頓距離相同,那麼我們選擇工人索引最小的那對。類似地,如果有多種不同的分配方法,則選擇自行車索引最小的一對。不斷重複這一過程,直到所有工人都分配到自行車為止。
給定兩點p1
和p2
之間的曼哈頓距離為manhattan(p1, p2) = |p1.x - p2.x| + |p1.y - p2.y|
。
返回長度為n
的向量ans
,其中a[i]
是第i
位工人分配到的自行車的索引(從 0 開始)。
示例 1:
輸入:workers = [[0,0],[2,1]], bikes = [[1,2],[3,3]]
輸出:[1,0]
解釋:工人 1 分配到自行車 0,因為他們最接近且不存在衝突,工人 0 分配到自行車 1 。所以輸出是 [1,0]。
示例 2:
輸入:workers = [[0,0],[1,1],[2,0]], bikes = [[1,0],[2,2],[2,1]]
輸出:[0,2,1]
解釋:工人 0 首先分配到自行車 0 。工人 1 和工人 2 與自行車 2 距離相同,因此工人 1 分配到自行車 2,工人 2 將分配到自行車 1 。因此輸出為 [0,2,1]。
0 <= workers[i][j], bikes[i][j] < 1000所有工人和自行車的位置都不相同。
1 <= workers.length <= bikes.length <= 1000
思路:
計算每兩個點間的距離,將worker存入列表中,然後排序完再遍歷,遍歷時注意判斷worker是否已經分配到自行車以及自行車是否被分配。
class solution:
def assignbikes(self, workers: list[list[int]], bikes: list[list[int]]) -> list[int]:
def distance(a, b):
return abs(a[0] - b[0]) + abs(a[1] - b[1])
ans=[-1]*len(workers)
used_bike=[0]*len(bikes)
dis=
for i in range(len(workers)):
for j in range(len(bikes)):
dis.sort()
for i in dis:
if ans[i[1]]==(-1) and used_bike[i[2]]!=1:
ans[i[1]]=i[2]
used_bike[i[2]]=1
else:
continue
return ans
emmm python寫這道題超時了一次。。。應該用c++的。可以參考下家樂同學的c++解法
2019 力扣杯 全國高校春季程式設計大賽決賽題解
給出乙個有序陣列a,陣列中的每個數字都是獨一無二的,找出從陣列最左邊開始的第k個缺失數字。示例 1 輸入 a 4,7,9,10 k 1 輸出 5 解釋 第乙個缺失數字為 5 示例 2 輸入 a 4,7,9,10 k 3 輸出 8 解釋 缺失數字有 5,6,8,因此第三個缺失數字為 8 示例 3 輸入...
LeetCode 2019 力扣杯全國秋季程式設計大賽
2019.9.24晚,第一次參加線上比賽 比賽排名結果 582 1541,做出了2道題。我證明了 我不是最菜的!小a 和 小b 在玩猜數字。小b 每次從 1,2,3 中隨機選擇乙個,小a 每次也從 1,2,3 中選擇乙個猜。他們一共進行三次這個遊戲,請返回 小a 猜對了幾次?輸入的guess陣列為 ...
聚焦2019 攀公升杯 全國高校工業設計大賽總決賽!
長江疊浪,波瀾浩蕩 東湖潮湧,水擊橫堤 長江之濱,東湖之畔。今日,2019 攀公升杯 全國高校工業設計大賽總決賽在武漢東湖國際會議中心盛大開幕 巔峰角逐 聚焦 攀公升杯 全國高校工業設計大賽決賽 攀公升杯 全國高校工業設計大賽自 9 月 21 日開啟以來,共有來自全國各地近百家頭部大學院校的積極響應...