From 60ac5947012915007fade66883cc0ea54e27dde2 Mon Sep 17 00:00:00 2001 From: MaoLongLong <382084620@qq.com> Date: Wed, 28 Apr 2021 23:51:29 +0800 Subject: [PATCH] feat: add solutions to leetcode problem No.0633. Sum of Square Numbers --- .../0633.Sum of Square Numbers/README.md | 36 +++++++++++++++++- .../0633.Sum of Square Numbers/README_EN.md | 36 +++++++++++++++++- .../0633.Sum of Square Numbers/Solution.py | 12 ++++++ .../images/table.png | Bin 0 -> 14327 bytes 4 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 solution/0600-0699/0633.Sum of Square Numbers/Solution.py create mode 100644 solution/0600-0699/0633.Sum of Square Numbers/images/table.png diff --git a/solution/0600-0699/0633.Sum of Square Numbers/README.md b/solution/0600-0699/0633.Sum of Square Numbers/README.md index a5ed8460304a..f4ca45f92ca1 100644 --- a/solution/0600-0699/0633.Sum of Square Numbers/README.md +++ b/solution/0600-0699/0633.Sum of Square Numbers/README.md @@ -53,6 +53,12 @@ +![](./images/table.png) + +上图为 a,b,c 之间的关系,这题其实就是在这张“表”里查找 c + +从表的右上角看,不难发现它类似一棵二叉查找树,所以只需从右上角开始,按照二叉查找树的规律进行搜索 + ### **Python3** @@ -60,7 +66,18 @@ ```python - +class Solution(object): + def judgeSquareSum(self, c): + i, j = 0, int(math.sqrt(c)) + while i <= j: + s = i * i + j * j + if s < c: + i += 1 + elif s > c: + j -= 1 + else: + return True + return False ``` ### **Java** @@ -68,7 +85,22 @@ ```java - +class Solution { + public boolean judgeSquareSum(int c) { + int i = 0, j = (int) Math.sqrt(c); + while (i <= j) { + int s = i * i + j * j; + if (s < c) { + ++i; + } else if (s > c) { + --j; + } else { + return true; + } + } + return false; + } +} ``` ### **...** diff --git a/solution/0600-0699/0633.Sum of Square Numbers/README_EN.md b/solution/0600-0699/0633.Sum of Square Numbers/README_EN.md index 46c54537ee81..721090e874ba 100644 --- a/solution/0600-0699/0633.Sum of Square Numbers/README_EN.md +++ b/solution/0600-0699/0633.Sum of Square Numbers/README_EN.md @@ -53,18 +53,50 @@ ## Solutions +![](./images/table.png) + +The picture above shows the relationship between `a`, `b`, and `c`. This question is actually looking up `c` in this table + +From the upper right corner of the table, it is not difficult to find that it is similar to a binary search tree, so just start from the upper right corner and search according to the law of the binary search tree + ### **Python3** ```python - +class Solution(object): + def judgeSquareSum(self, c): + i, j = 0, int(math.sqrt(c)) + while i <= j: + s = i * i + j * j + if s < c: + i += 1 + elif s > c: + j -= 1 + else: + return True + return False ``` ### **Java** ```java - +class Solution { + public boolean judgeSquareSum(int c) { + int i = 0, j = (int) Math.sqrt(c); + while (i <= j) { + int s = i * i + j * j; + if (s < c) { + ++i; + } else if (s > c) { + --j; + } else { + return true; + } + } + return false; + } +} ``` ### **...** diff --git a/solution/0600-0699/0633.Sum of Square Numbers/Solution.py b/solution/0600-0699/0633.Sum of Square Numbers/Solution.py new file mode 100644 index 000000000000..b78817ad1efb --- /dev/null +++ b/solution/0600-0699/0633.Sum of Square Numbers/Solution.py @@ -0,0 +1,12 @@ +class Solution(object): + def judgeSquareSum(self, c): + i, j = 0, int(math.sqrt(c)) + while i <= j: + s = i * i + j * j + if s < c: + i += 1 + elif s > c: + j -= 1 + else: + return True + return False diff --git a/solution/0600-0699/0633.Sum of Square Numbers/images/table.png b/solution/0600-0699/0633.Sum of Square Numbers/images/table.png new file mode 100644 index 0000000000000000000000000000000000000000..a272480554d5ea9679889c996fc54722154347c6 GIT binary patch literal 14327 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 literal 0 HcmV?d00001