> 文章列表 > Java每日一练(20230423)

Java每日一练(20230423)

Java每日一练(20230423)

 

目录

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每日一练 专栏