[leetcode]Python實現-367.有效的完全平方數
367.有效的完全平方數
描述
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。
注意:不要使用任何內建的庫函式,如 sqrt。
示例
輸入: 16
輸出: True
輸入: 14
輸出: False
我
思路:老老實實遍歷的話會超時,於是使用二分查詢。
class Solution:
def isPerfectSquare(self, num):
"""
:type num: int
:rtype: bool
"""
l = 1
h = num
while l <= h:
mid = (l+h)//2
t = mid**2
if t < num:
l = mid + 1
elif t == num:
return True
else:
h = mid - 1
return False
還有思路二:
通過列舉所有的完全平方數,1,4,9,16,25,36,49,64,81,100…等等,發現完全平方數的差都為奇數,即1,3,5,7,9,11,13,15…等等~所以可以判斷完全平方數應該是N個奇數的和。不過沒有第一種方法好。
i = 1
while num > 0:
num -= i
i += 2
return num == 0
相關推薦
[leetcode]Python實現-367.有效的完全平方數
367.有效的完全平方數 描述 給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 注意:不要使用任何內建的庫函式,如 sqrt。 示例 輸入: 16 輸出: True
[LeetCode] Valid Perfect Square 檢驗完全平方數
Given a positive integer num, write a function which returns True if num is a perfect square else False. Note: Do not use any built-in library function
python基礎程式設計_2_完全平方數
簡述:一個整數,它加上100和加上268後都是一個完全平方數,求100000之內滿足條件的數提問:請問該數是多少?#import math from numpy import* for i in ran
leetcode 367. 有效的完全平方數 python
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:Tr
Leetcode 367. 有效的完全平方數 C++
題目: 給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:True 示例 2: 輸入:14 輸出:False 思路:
Leetcode 367——有效的完全平方數(C++)
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。注意:不要使用任何內建的庫函式,如 sqrt。示例 1:輸入: 16 輸出: True示例 2:輸入: 14 輸出: False老老實實的去遍歷的話會超時,故用
LeetCode刷題記錄——第367題(有效的完全平方數)
題目描述 給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:True 示例 2: 輸入:14 輸出:F
367. 有效的完全平方數
題目 給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:True 示例 2: 輸入:14 輸出:False 思路 方法一:使
367.有效的完全平方數
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:True 示例 2: 輸入:14 輸出:False class Solu
LeetCode 279. 完全平方數 (C#實現)
blog span code 一個數 ++ 表示 res 動態 分享 問題:https://leetcode-cn.com/problems/perfect-squares/ GitHub實現:https://github.com/JonathanZxxxx/Lee
Python經典練習題1:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
span range pytho 能夠 break clas 完全平方數 imp 經典 Python經典練習題 網上能夠搜得到的答案為: for i in range(1,85): if 168 % i == 0: j = 168 / i;
LeetCode 279. 完全平方數(Perfect Squares)
-a 題目 col min lee 狀態 res style turn 題目描述 給定正整數 n,找到若幹個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3
leetcode367:有效的完全平方數
思想: 1.定義變數l和h,存放中間變數 2.將l加h整除2等於mid,然後算出mid的平方t,最後比較t和num的大小。 3.若t<num,l等於mid+1;若t>num,h等於mid-1;若t=num,返回True 4.直到迴圈結束,返回False class S
【JS】有效的完全平方數 #數學 #二分查詢
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:True 示例 2: 輸入:14 輸出:False 示例 3: 輸入:808201 輸出:
如何用JAVA實現找到100~999的完全平方數(轉載自:邵發)
如何用JAVA實現找到100~999的完全平方數(轉載自:afanihao.cn) //主程式 package fuckthismy; public class helloworld { public s
LeetCode學習記錄(3)----完全平方數
給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3 解釋: 12 = 4 + 4 + 4. 示例 2: 輸入: n = 13 輸出:
2018.11.5 有效的完全平方數
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。 說明:不要使用任何內建的庫函式,如 sqrt。 示例 1: 輸入:16 輸出:True 示例 2: 輸入:14 輸出:False class Solu
LeetCode367題:有效的完全平方數
這道題就是讓你寫一個函式用來判斷一個是num是否為某個數m的平方的。 解法一:暴力搜尋法 判斷一個數是不是某個數的平方,暴力一點的想法,就是從i = 1開始迴圈,如果i*i小於num,則i++;如果等於num,則返回true;如果大於num,則返回false。 public s
python中判斷是否為完全平方數(在9999平方的範圍內)
# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ num=input("Please inp
[Leetcode]279.完全平方數
最開始的時候,我想到的動態方程很簡單,就是 dp[i]=min(dp[i],dp[i-平方數]+1) 其中i-平方數一定要大於0要不然就會越界。這個思路很簡單,舉個例子: dp[5]=min(dp[5-1^2]+1,dp[5-2^2]+1,dp[5]) 這表示5可以如下組合: dp[5] = min