【leetcode九日】day2
1.求1+2+…+n 力扣231. 直接for循环,适合入门做提升信心
class Solution {
public int sumNums(int n) {
int s = 0;
for(int i = 1;i <= n;i++)
s += i;
return s;
}
}
2.2 的幂 力扣326
2的32次幂大于32位,因此只要31次幂进行
class Solution {
public boolean isPowerOfTwo(int n) {
if(n <=0){
return false;
}
if(n == 1){
return true;
}
for(int i = 0,sum = 1;i <= 31;i++){
sum *= 2;
if(sum == n){
return true;
}
}
return false;
}
}
3 3.的幂 力扣342
3的20次幂大于32位
class Solution {
public boolean isPowerOfThree(int n) {
if(n <=0){
return false;
}
if(n == 1){
return true;
}
for(int i = 0,sum = 1;i <= 20;i++){
sum *= 3;
if(sum == n){
return true;
}
}
return false;
}
}
4.4 的幂 力扣1492
4的16次幂大于32位
class Solution {
public boolean isPowerOfFour(int n) {
if(n <=0){
return false;
}
if(n == 1){
return true;
}
for(int i = 0,sum = 1;i <= 16;i++){
sum *= 4;
if(sum == n){
return true;
}
}
return false;
}
}
5.的第 k 个因子 力扣149
利用计数count
class Solution {
public int kthFactor(int n, int k) {
int count = 0;
for(int i = 1;i <= n;i++){
if(n % i == 0){
count++;
if(count == k){
return i;}
}
}
return -1;
}
}
6.完全平方数 力扣367
Java中直接利用Math.sqrt方法求num的平方根再转换成int,相乘若等于num就成立
class Solution {
public boolean isPerfectSquare(int num) {
int x = (int)Math.sqrt(num);
return x * x == num;
}
}