トピック:
n個の整数と目標NUMSターゲットを含むアレイを考えます。NUMSは三つの整数を特定し、そのような彼らの最も近いことをターゲットにしています。3つの数字とリターン。各グループは、入力のみが唯一の答えがあることを前提としてい
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/3sum-closestは
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。
最初の答え:
クラスソリューション{ 公共 のint threeSumClosest(INT [] NUMS、INT ターゲット){ int型のlen = nums.length。 Arrays.sort(NUMS)。 もし(LEN <3)リターン -1 。 INT ANS = NUMS [0] + NUMS [1] + NUMS [2 ]。 用(INTが I = 0; iが<lenを- 2; I ++ ){ int型 L = I + 1 。 INT R = LEN - 1 。 一方、(L < R){ int型の和= NUMS [I] + NUMS [L] +NUMS [R]。 もし(Math.abs(ターゲット-和)<Math.abs(ターゲット- ANS)){ ANS = 和。 } もし(合計< ターゲット){ L ++ 。 } そう であれば(和> ターゲット){ R - 。 } 他{ 戻りANS。 } } } 戻りANS。 } }