📜  Java |套餐|问题1(1)

📅  最后修改于: 2023-12-03 15:31:32.783000             🧑  作者: Mango

Java | 套餐 | 问题1

简介

Java | 套餐 | 问题1 是一个面向Java开发者提供的代码问题集合。它由一组Java编程题目组成,主要包含一些常见的Java编程问题,如数组操作、字符串处理、算法等。

Java | 套餐 | 问题1 的目的旨在提高Java程序员的编码技能,让他们更好地理解Java编程语言,并能够熟练构建Java应用程序。

题目

Java | 套餐 | 问题1 共包含20道Java编程题目,以下为其中5个样例题目:

1. Hello World

输出 "Hello World!" 字符串。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
2. 合并两个有序数组

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

public class MergeSortedArray {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m - 1, j = n - 1, k = m + n - 1;
        while (i >= 0 && j >= 0) {
            if (nums1[i] > nums2[j]) {
                nums1[k--] = nums1[i--];
            } else {
                nums1[k--] = nums2[j--];
            }
        }
        while (j >= 0) {
            nums1[k--] = nums2[j--];
        }
    }
}
3. 字符串反转

编写一个函数,其作用是将输入的字符串反转过来。

public class ReverseString {
    public void reverseString(char[] s) {
        int i = 0, j = s.length - 1;
        while (i < j) {
            char temp = s[i];
            s[i++] = s[j];
            s[j--] = temp;
        }
    }
}
4. 两数之和

给定一个整数数组 nums 和一个目标值 target,在数组中找出和为目标值的两个整数。

public class TwoSum {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            int complement = target - nums[i];
            if (map.containsKey(complement)) {
                return new int[]{map.get(complement), i};
            }
            map.put(nums[i], i);
        }
        throw new IllegalArgumentException("No two sum solution");
    }
}
5. 反转整数

给定一个32位有符号整数,将整数中的数字进行反转。

public class ReverseInteger {
    public int reverse(int x) {
        int y = 0;
        while (x != 0) {
            int pop = x % 10;
            x /= 10;
            if (y > Integer.MAX_VALUE / 10 || (y == Integer.MAX_VALUE / 10 && pop > 7)) {
                return 0;
            }
            if (y < Integer.MIN_VALUE / 10 || (y == Integer.MIN_VALUE / 10 && pop < -8)) {
                return 0;
            }
            y = y * 10 + pop;
        }
        return y;
    }
}
其他资源

如果您感兴趣,可以访问以下一些常用编程题库:

  • LeetCode: https://leetcode.com/
  • HackerRank: https://www.hackerrank.com/
  • Codewars: https://www.codewars.com/
结论

Java | 套餐 | 问题1 包含20个常见的Java编程问题,非常适合用于Java程序员提高编码技能。除了这些题目,您还可以访问其他一些常用的编程题库。