目录
1. 数组元素统计 ※
2. 杨辉三角 II 🌟
3. 二进制求和 🌟
🌟 每日一练刷题专栏 🌟
Golang每日一练 专栏
Python每日一练 专栏
C/C++每日一练 专栏
Java每日一练 专栏
1. 数组元素统计
定义一个长度为5的数组arr1,用于存放5个1~9的随机整数(范围包含1和9),再定义一个长度为2的数组arr2,统计arr1中的元素对2求余等于0的个数,保存到arr2[0], 统计arr1中的元素对3求余等于0的个数,保存到arr2[1],在控制台打印输出arr2的所有元素
出处:
https://edu.csdn.net/practice/26319564
代码:
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int arr1[] = new int[5];
for (int i = 0; i < arr1.length; i++) {
arr1[i] = new Random().nextInt(9) + 1;
}
int i2 = 0;
int j3 = 0;
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] % 2 == 0) {
i2++;
}
if (arr1[i] % 3 == 0) {
j3++;
}
}
int arr2[] = new int[2];
arr2[0] = i2;
arr2[1] = j3;
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
输出:
略
2. 杨辉三角 II
给定一个非负索引 rowIndex
,返回「杨辉三角」的第 rowIndex
行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例 1:
输入: rowIndex = 3 输出: [1,3,3,1]
示例 2:
输入: rowIndex = 0 输出: [1]
示例 3:
输入: rowIndex = 1 输出: [1,1]
提示:
0 <= rowIndex <= 33
进阶:
你可以优化你的算法到 O(rowIndex)
空间复杂度吗?
出处:
https://edu.csdn.net/practice/26319565
代码:
import java.util.*;
public class getRow {
public static class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> row = new ArrayList<Integer>();
for (int i = 0; i < rowIndex + 1; i++) {
row.add(0, 1);
for (int j = 1; j < row.size() - 1; j++)
row.set(j, row.get(j) + row.get(j + 1));
}
return row;
}
}
public static void main(String[] args) {
Solution s = new Solution();
for (int i = 0; i < 5; i++) {
System.out.println(s.getRow(i));
}
}
}
输出:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
```Java
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> row = new ArrayList<Integer>();
for (int i = 0; i < rowIndex + 1; i++) {
row.add(0, 1);
for (int j = 1; j < row.size() - 1; j++)
row.set(j, row.get(j) + row.get(j + 1));
}
return row;
}
}
```
3. 二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1
和 0
。
示例 1:
输入: a = "11", b = "1" 输出: "100"
示例 2:
输入: a = "1010", b = "1011" 输出: "10101"
提示:
- 每个字符串仅由字符
'0'
或'1'
组成。 1 <= a.length, b.length <= 10^4
- 字符串如果不是
"0"
,就都不含前导零。
出处:
https://edu.csdn.net/practice/26319566
代码:
import java.util.*;
public class addBinary {
public static class Solution {
public String addBinary(String a, String b) {
StringBuffer s1 = new StringBuffer(a);
s1.reverse();
StringBuffer s2 = new StringBuffer(b);
s2.reverse();
if (s1.length() > s2.length()) {
int n = s1.length() - s2.length();
for (int i = 0; i < n; i++) {
s2.append('0');
}
} else if (s1.length() < s2.length()) {
int n = s2.length() - s1.length();
for (int i = 0; i < n; i++) {
s1.append('0');
}
}
StringBuffer stringBuffer = new StringBuffer("");
int i = 0;
char flag = '0';
while (i < s1.length() && i < s2.length()) {
if (flag == '0') {
if (s1.charAt(i) == s2.charAt(i) && s1.charAt(i) == '1') {
flag = '1';
stringBuffer.append('0');
} else if (s1.charAt(i) == s2.charAt(i) && s1.charAt(i) == '0') {
stringBuffer.append('0');
} else {
stringBuffer.append('1');
}
} else {
if (s1.charAt(i) == s2.charAt(i) && s1.charAt(i) == '1') {
flag = '1';
stringBuffer.append('1');
} else if (s1.charAt(i) == s2.charAt(i) && s1.charAt(i) == '0') {
flag = '0';
stringBuffer.append('1');
} else {
flag = '1';
stringBuffer.append('0');
}
}
i++;
}
if (flag == '1') {
stringBuffer.append(flag);
}
stringBuffer.reverse();
return stringBuffer.toString();
}
}
public static void main(String[] args) {
Solution s = new Solution();
String a = "11", b = "1";
System.out.println(s.addBinary(a,b));
a = "1010"; b = "1011";
System.out.println(s.addBinary(a,b));
}
}
输出:
100
10101
🌟 每日一练刷题专栏 🌟
✨ 持续,努力奋斗做强刷题搬运工!
👍 点赞,你的认可是我坚持的动力!
🌟 收藏,你的青睐是我努力的方向!
✎ 评论,你的意见是我进步的财富!
☸ 主页:https://hannyang.blog.csdn.net/
Golang每日一练 专栏 | |
Python每日一练 专栏 | |
C/C++每日一练 专栏 | |
Java每日一练 专栏 |