java 面试算法题
时间: 2023-09-02 19:02:34 浏览: 218
Java 面试算法题有很多,下面我来举一个例子。
问题描述:给定一个非负整数num,返回其二进制表达式中数字位数为奇数的数字个数。
解决思路:我们可以将给定的非负整数转换为二进制字符串,然后遍历该字符串,计算出每个数字位数为奇数的数字个数并返回。
具体实现如下:
```
public class Solution {
public int countOdds(int num) {
// 将整数num转换为二进制字符串
String binaryString = Integer.toBinaryString(num);
int count = 0;
for (char c : binaryString.toCharArray()) {
if (c == '1') {
count++;
}
}
// 返回数字位数为奇数的数字个数
return count;
}
}
```
这段代码首先将给定的非负整数num转换为二进制字符串,并使用for-each循环遍历该字符串。在遍历过程中,如果当前字符为'1',则将count加1。最后,返回数字位数为奇数的数字个数count。
以上就是Java面试算法题的一个例子。在实际面试中,可能会遇到更复杂的算法题,需要根据题目要求进行具体实现。通过反复练习算法题,可以提高自己的解题能力,为面试做好准备。
阅读全文