朗致 java 算法题
一、入门级算法题
1. 编写一个Java程序,实现两个数的交换。
```java
public class SwapNumbers {
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        int temp = a;
        a = b;
        b = temp;
        System.out.println("交换后的结果为:" + "a = " + a + ", b = " + b);
    }
}
```
2. 编写一个Java程序,实现斐波那契数列的前N项。
```java
public class Fibonacci {
    public static void main(String[] args) {
        int n = 10; // 可以修改为需要计算的斐波那契数列的项数
        int[] fibonacci = new int[n];
        fibonacci[0] = 0;
        fibonacci[1] = 1;
        for (int i = 2; i < n; i++) {
            fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
        }
        System.out.println("斐波那契数列前" + n + "项为:" + fibonacci);
java中字符串转数组    }
}
```
二、进阶级算法题
1. 编写一个Java程序,实现一个函数,输入一个字符串,返回字符串中所有单词的首字母大写后的新字符串。
```java
public class CapitalizeWords {
    public static void main(String[] args) {
        String str = "this is a sample string";
        String result = capitalizeWords(str);
        System.out.println("结果为:" + result);
    }
    public static String capitalizeWords(String str) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            String word = str.substring(i, i+1); // 获取单词的首字母字符
            sb.UpperCase(word)); // 将单词的首字母转为大写并添加到结果中
        }
        String(); // 返回结果字符串
    }
}
```
2. 编写一个Java程序,实现一个函数,输入一个二维数组,返回该数组中所有正负号交替出现的小方阵(行数等于列数)。要求不使用显式循环。例如,对于一个3x3数组:`[-1, -2, 3; 4, 0, -5; 6, -7, 8]`,输出应该是:`[3, -5, -7]`。注意:这个问题需要使用到递归或动态规划等高级算法技巧。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。