Leetcode 367——有效的完全平方數(C++)
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。
注意:不要使用任何內建的庫函式,如 sqrt
。
示例 1:
輸入: 16 輸出: True
示例 2:
輸入: 14 輸出: False
老老實實的去遍歷的話會超時,故用二分查詢
class Solution {
public:
bool isPerfectSquare(int num) {
long long left = 0;
long long right = num;
long long mid;
while(left<=right-1)
{
mid=(left+right)/2;
if(mid*mid==num) return true;
else if(mid*mid<num) left=mid+1;
else if(mid*mid>num) right=mid-1;
}
}
};
相關推薦
Leetcode 367——有效的完全平方數(C++)
給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。注意:不要使用任何內建的庫函式,如 sqrt。示例 1:輸入: 16 輸出: True示例 2:輸入: 14 輸出: False老老實實的去遍歷的話會超時,故用
LeetCode 279. 完全平方數(Perfect Squares)
-a 題目 col min lee 狀態 res style turn 題目描述 給定正整數 n,找到若幹個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3
Leetcode 279:完全平方數(最詳細解決方案!!!)
給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3 解釋: 12 = 4 + 4 + 4. 示例 2: 輸入: n = 13
基礎程式設計題目集:6-7 統計某類完全平方數(20 分)
int IsTheNumber(const int N) { int n = sqrt(N); int k = 0, tmp = N; int a[5] = { 0 }; //判斷是否是完全平方數 if (n*n == N) { //先N轉陣列 //判斷有多少位 while (
LeetCode 678. 有效的括號字串(C、C++、python)
給定一個只包含三種字元的字串:( ,) 和 *,寫一個函式來檢驗這個字串是否為有效字串。有效字串具有如下規則: 任何左括號 ( 必須有相應的右括號 )。 任何右括號 ) 必須有相應的左括號 (&
LeetCode 941. 有效的山脈陣列(C、C++、python)
給定一個整數陣列 A,如果它是有效的山脈陣列就返回 true,否則返回 false。 讓我們回顧一下,如果 A 滿足下述條件,那麼它是一個山脈陣列: A.length >= 3 在 0 < i < A.lengt
輸出形如aabb的4位完全平方數(7744問題)
#include<stdio.h> int main() { int i,x,aa,bb; for(i=1;i<100;i++) { x=i*i; if(x<999||x>10000) contin
PTA_基礎程式設計題目集_6-7 統計某類完全平方數 (20 分)
題目地址 我的程式碼 int IsTheNumber(const int N) { int n = N, tn, jud = 0, mark = 0; tn = (int)(sqrt((double)(n))); //利用非完全平方整數,開方存在小數;double強行轉
如何用JAVA實現找到100~999的完全平方數(轉載自:邵發)
如何用JAVA實現找到100~999的完全平方數(轉載自:afanihao.cn) //主程式 package fuckthismy; public class helloworld { public s
LeetCode 611. 有效三角形的個數(C、C++、python)
給定一個包含非負整數的陣列,你的任務是統計其中可以組成三角形三條邊的三元組個數。 示例 1: 輸入: [2,2,3,4] 輸出: 3 解釋: 有效的組合是: 2,3,4 (使用第一個 2) 2,3,4 (使用第二個 2) 2,2,3 注意: 陣列長度不超過1000
python中判斷是否為完全平方數(在9999平方的範圍內)
# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ num=input("Please inp
6-7 統計某類完全平方數(20 分)
本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件,則該函式必須返回1,否則返回0
6-7 統計某類完全平方數(20 分) 本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。
int IsTheNumber ( const int N ) { int r=sqrt(N); int n=N; int a[10]={}; if(r*r==N){ int d; while(n){ d=n%10;
[LeetCode] Perfect Squares 完全平方數
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, r
每個數均可表示成若干個完全平方數(1,4,9,16,25……)之和
JAVA程式設計:每個數均可表示成若干個完全平方數(1,4,9,16,25……)之和,完全平方數是可重複,求出n的一種組合要求完全平方數的個數最少。如:12=4+4+4;13=4+9 package test; import java.util.Scanner; publi
BZOJ 2440 完全平方數(莫比烏斯函式+容斥)
注意的兩點是二分的時候注意,要選取最小的那個答案,因為19是13個,20也是13個,而很明顯19才是符合答案的。 還有感覺題目給的資料範圍不對,實際比較大,所以二分的時候r大點。 #include<bits/stdc++.h> using nam
aabb是否為完全平方數(floor(x)函式的運用與技巧)
題目: 輸出所有形如aabb的4位完全平方數(即前兩位數字相等,後兩位數字也相等.)解題思路: 只需用兩個迴圈依次列舉a:(1 - 9),b:(0 - 9),再組合進行判斷,若為則輸出該數,不是的話就繼續迴圈查詢。需要注意理解的兩點: 1.我看到需要判斷一個
BZOJ 2440 完全平方數 (二分 莫比烏斯容斥)
BZOJ 2440 完全平方數 Description 小 X 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影響他對其他數的熱愛。 這天是小X的生日,小 W
LeetCode | Reverse Words in a String(C#)
++ style str blog cnblogs count item leetcode string 題目: Given an input string, reverse the string word by word. For example,Given s = "
找“異數”(C)
+= define 一行 none har closed view 輸出 img 定義“異數”:數值序列中包含2~16進制整數,如果序列中有一個數,與序列中其他任何一個數大小都不相等,這個數叫做“異數” 輸入:輸入數值序列i行(0<i),每一行分別是進制和數值,以"#