leetcode1066

1つの インポートSYS
 2  クラスのソリューション:
 3      DEF __init __(自己):
 4          self.sums = sys.maxsize
 5  
6は、     デフ(自己、労働者、I、バイク、使用、合計)をバックトラック:
 7          場合、私は== lenの(労働者)
 8              self.sums = 分(self.sums、合計)
 9              リターン
10  
11          なら和> self.sums:
 12              リターン
13  
14          のための J における範囲(LEN(バイク)):
 15              場合に使用される[J]:
 16                  続行
17             中古[J] = Trueを
 18              self.backtrack(労働者、I + 1、バイク、使用、和+ self.getDist(研究者[I]、自転車[J]))
 19              中古[J] = Falseを
 20  
21      DEF getDist(自己、労働者、自転車):
 22の         リターン   ABS(労働者[ 0 ] -bike [ 0 ])+ ABS(作業員[ 1 ] [-bike 1 ])
 23  
24      デフassignBikes(自己、労働者:' 一覧[一覧[INT]] '、バイク:' 一覧[一覧[INT]] '  - > int型25         V = [FALSE] * LEN(バイク)
 26          self.backtrack(労働者、0、バイク、V、0 27          リターン self.sums

上記のコードは、バックトラックを使用しますが、TLE。効率を高めるために、動的プログラミングを使用する必要性を考慮して、まだ通常はしないでください。

 

本当にleetcodeプラットフォームは、「言語キ​​ル」で同じJava言語を用いて溶液を見てのアイデアが、ACことができ、?

これと同じ考え方は、Javaを使用すると、ACことができますが、.NETやPythonの使用はTLEだった、と私は数回会いました。

しかし、私は現在、なぜ把握されていない問題のコードを記述することも可能です。

次のようにコードのJavaのバージョンは次のとおりです。

1  クラスソリューション{
 2      公共 INT assignBikes(int型、[] []の労働者をint型{[] []バイク)
 3          DFS(労働者、0、バイク、新しいブール[bikes.length]を、0 );
4          リターン分。
5      }
 6      
7      INT分= Integer.MAX_VALUEで、
8つの     ボイド DFS(INT [] []労働者は、int型 iは、値int [] []バイク、ブール[]を用い、int型の合計){
 9          もし(I ==workers.length){
 10              分= Math.min(分、合計)。
11              リターン;
12          }
 13          
14          であれば(和>分)のリターン ;  // 早期終了
15          
16          のためにINT J = 0 ++; J <bikes.length {j)が
 17              であれば(使用[J])続けます18              中古[j]は= 19の              DFS(労働者、I + 1、バイク、使用、和+ getDistance(研究者[I]、自転車[J]))。
20             中古[J] = ;
21          }
 22      }
 23      
24      INT getDistance(INT []ワーカー、値int []バイク){
 25          リターン Math.abs(ワーカー[ 0 ] -自転車[ 0 ])+ Math.abs(作業者[ 1 ] -自転車[ 1 ] );
26      }
 27 }

参考住所:https://leetcode.com/problems/campus-bikes-ii/discuss/303375/Java-straightforward-DFS-solution

おすすめ

転載: www.cnblogs.com/asenyang/p/10961846.html