如何为 JAVA 编写一个简单的主函数

How to write a simple main function for JAVA

我是 JAVA 的初学者。我在做 LeetCode 中的 "insert intervals" 题。下面是问题。

给定一组非重叠区间,在区间中插入一个新区间(必要时合并)。

示例 1: 给定区间 [1,3],[6,9],将 [2,5] 插入并合并为 [1,5],[6,9]。

下面是代码。但是我不知道怎么写一个main函数。任何人都可以帮忙吗?非常感谢!

public class Solution {
public List<Interval> insert(List<Interval> intervals, Interval newInterval) {
    List<Interval> res = new ArrayList<Interval>();
    boolean inserted = false;
    for (Interval it : intervals) {
        if (inserted || it.end < newInterval.start) {
            res.add(it);
        } else if (it.start > newInterval.end) {
            res.add(newInterval);
            res.add(it);
            inserted = true;
        } else {
            newInterval.start = Math.min(newInterval.start, it.start);
            newInterval.end = Math.max(newInterval.end, it.end);
        }
    }
    if (inserted == false) res.add(newInterval);
    return res;

public static void main(String[] args) {

    }
}

假设您只是想测试书面方法,这应该有所帮助。

public static void main(String[] args) {
    Solution solution = new Solution();
    List<Interval> intervals = new ArrayList<>(); //Create list of intervals
    intervals.add(new Interval(1, 3));
    intervals.add(new Interval(6, 9));
    List<Interval> mergedIntervals = solution.insert(intervals, new Interval(2, 5));
    System.out.println(mergedIntervals);
}

希望上面的代码是self-explanatory。我认为您已经定义了 class Interval。这就是它的样子

private class Interval {
    int start;
    int end;
    public Interval(int start, int end) {
        this.start = start;
        this.end = end;
    }

    @Override
    public String toString() {
        return "[" + start + "," + end + "]";
    }
}