admin 管理员组

文章数量: 887021


2023年12月19日发(作者:代码搞笑下载)

java 基础算法题

Java基础算法题是面试中经常出现的一个考察点,以下是一些常见的Java基础算法题及其解答。

1. 翻转字符串

题目:给定一个字符串,将其进行翻转。

例如:输入s = "hello",输出"olleh"。

解答:可以借助StringBuilder中的reverse()方法进行字符串翻转操作。

代码如下:

```

public static String reverseString(String s) {

StringBuilder sb = new StringBuilder(s);

return e().toString();

}

```

2. 统计字符串中某一字符的出现次数

题目:给定一个字符串和一个字符,统计该字符在字符串中出现的次数。

例如:输入s = "hello",c = 'l',输出2。

解答:可以遍历字符串中的每一个字符,统计该字符在字符串中出现的次数。

代码如下:

```

public static int countChar(String s, char c) {

int count = 0;

for (int i = 0; i < (); i++) {

if ((i) == c) {

count++;

}

}

return count;

}

```

3. 求斐波那契数列的第n项

题目:求斐波那契数列的第n项,斐波那契数列的定义如下:

F(0) = 0, F(1) = 1

F(n) = F(n-1) + F(n-2) (n>=2)

例如:输入n = 5,输出5。

解答:可以使用递归的方式求解,但是递归效率较低,当n较大时会出现栈溢出的情况。可以采用循环的方式进行求解。

代码如下:

```

public static int fibonacci(int n) {

if (n < 2) {

return n;

}

int a = 0, b = 1;

for (int i = 2; i <= n; i++) {

int c = a + b;

a = b;

b = c;

}

return b;

}

```

4. 判断一个数是否为素数

题目:给定一个整数,判断它是否为素数。

例如:输入n = 7,输出true。

解答:可以使用循环遍历2到n-1的所有整数,判断该数是否能被整除。如果能被整除,则该数不是素数。

代码如下:

```

public static boolean isPrime(int n) {

if (n <= 1) {

return false;

}

for (int i = 2; i < n; i++) {

if (n % i == 0) {

return false;

}

}

return true;

}

```

5. 寻找数组中的最大值和最小值

题目:给定一个整型数组,寻找其中的最大值和最小值。

例如:输入arr = {3, 1, 6, 2, 8, 4},输出最大值8和最小值1。

解答:可以使用循环遍历该数组,记录其中的最大值和最小值。


本文标签: 字符串 字符 循环 解答 使用