朗致 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小时内删除。
发表评论