357. Count Numbers with Unique Digits
public class Solution {
public int countNumbersWithUniqueDigits(int n) {
if (n < 1) {
return 1;
}
int[] uni = new int[n];
uni[0] = 10;
int sum = 10;
for (int i = 1; i < n; i++) {
if (i == 1) {
uni[i] = 9 * 9;
}
else if (9 - i + 1 > 0){
uni[i] = uni[i - 1] * (9 - i + 1);
}
else {
return sum;
}
sum += uni[i];
}
return sum;
}
} 367. Valid Perfect Square
被超出int范围的数坑了,所以用long。
public class Solution {
public boolean isPerfectSquare(int num) {
long lnum = num;
if (num < 0) return false;
long i = 0;
while (true) {
if (i * i == lnum) return true;
if (i * i > lnum) return false;
i++;
}
}
}
本文介绍两个算法问题:一是计算位数不超过n的所有不含重复数字的整数数量;二是判断一个整数是否为完全平方数。通过提供的Java代码实现,详细展示了如何解决这两个问题。
277

被折叠的 条评论
为什么被折叠?



