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 getRow(int rowIndex) { List row = new ArrayList(); 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/