文章目录
- 1丶丑数
- 2、各位相加
- 3丶搜索插入位置
- 4丶第一个错误的版本
1丶丑数
因为丑数只能被2,3,5整除,所以让n依次去除2,3,5,如果最后是n为1,就说明是丑数。
class Solution {public boolean isUgly(int n) {if(n <= 0){return false;}while(n % 2 == 0){n /= 2;}while(n % 3 == 0){n /= 3;}while(n % 5 == 0){n /= 5;}return n == 1;}
}
2、各位相加
class Solution {public int addDigits(int num) {if(num<10)return num;while(num>=10){int sum=0;while (num > 0) {sum += num % 10;num /= 10;}num=sum;}return num;}
}
3丶搜索插入位置
本小菜坤的答案:
class Solution {public int searchInsert(int[] nums, int target) {for (int i = 0; i < nums.length; i++) {if (nums[i] == target) {return i;}}int place=0;for (int j = 0; j< nums.length-1; j++) {if (nums[j] <= target && nums[j + 1] >= target) {return j+1;}}if(nums[nums.length-1]<target){ //判断最后一个元素return nums.length;}return 0;}}
4丶第一个错误的版本
看着题目挺复杂,其实思想就是二分查找的思想。
/* The isBadVersion API is defined in the parent class VersionControl.boolean isBadVersion(int version); */public class Solution extends VersionControl {public int firstBadVersion(int n) {int left=1;int right=n;while(left<right){int mid=left+(right-left)/2; //中间值没有设置为(left+right)/2的原因是,当left和right都是非常大的整数时防止运算溢出if(isBadVersion(mid)){right=mid;}else{left=mid+1;}}return left;}
}