輸入n,求所有符合x^2+y^2+z^2 = n的 x, y, z 的方案數。(x, y, z為非負整數)
注意事項
n <=1000000
x,y,z滿足(x<=y<=z),只要選擇出來的三個數相同就算同一種方案。
樣例
給出 n = 0,返回 1。
解釋:
當 x =0 , y = 0, z = 0時等式成立。
給出 n = 1,返回 1。
解釋:
當其中乙個為1,剩下兩個為0,一共有1種方案。
思路
找到0~n之前的完全平方數,存入陣列nums。之後就相當於求三數之和。
#ifndef c831_h
#define c831_h
#include
#include
#include
#include
using
namespace
std;
class solution );}}
}return
set.size();
}};#endif
兩數之和II
給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不可以重複使...
443 兩數之和 II
給一組整數,問能找出多少對整數,他們的和大於乙個給定的目標值。樣例 1 輸入 2,7,11,15 target 24 輸出 1 解釋 11 15 是唯一的一對樣例 2 輸入 1,1,1,1 target 1 輸出 6o 1 額外空間以及 o nlogn 時間複雜度 思路 1 首先對陣列從小到大排序,...
兩數之和,三數之和
兩數之和 方法一 暴力 throw new illegalargumentexception 時間複雜度 o n 2 空間複雜度 o 1 public int twosum int nums,int target throw newillegalargumentexception no twosum...