Skip to content

Releases: Jidcoo/LeetcodeJavaDebugEnhancer

v1.0.2

03 Oct 13:03

Choose a tag to compare

What's Changed

  • Feature dev support require annotation functions by @Jidcoo in #11

Full Changelog: v1.0.1...v1.0.2

New Supported Feature

Support Require annotation functions.

Example

Customize IO source using Require annotation

//SimpleTest.java

//Customize input provider.
@Require(values = "case/input1.txt", types = FileInputProvider.class)
@Require(values = "[0,4,3,0] 0", types = StringInputProvider.class)
//Customize output consumer.
@Require(values = "case/output.txt", types = FileOutputConsumer.class)
public class SimpleTest extends LeetcodeJavaDebugEnhancer {

    class Solution {
        public int[] twoSum(int[] nums, int target) {
            int n = nums.length;
            for (int i = 0; i < n; ++i) {
                for (int j = i + 1; j < n; ++j) {
                    if (nums[i] + nums[j] == target) {
                        return new int[]{i, j};
                    }
                }
            }
            return new int[0];
        }
    }
}

The following is an example that lists all available uses of using Require annotation to customize IO sources.

//SimpleTest.java

//Customize input provider.
@Require(types = ConsoleInputProvider.class)
@Require(values = "case/input1.txt", types = FileInputProvider.class)
@Require(values = {"case/input1.txt", "case/input2.txt"}, types = FileInputProvider.class)
@Require(values = "[0,4,3,0] 0", types = StringInputProvider.class)
@Require(values = {"[0,4,3,0] 0", "[3,3] 6"}, types = StringInputProvider.class)
@Require(values = {
                "[0,4,3,0] 0",
                "[3,3] 6",
                "case/input1.txt"
        },
        types = {
                StringInputProvider.class,
                StringInputProvider.class,
                FileInputProvider.class
})
@Require(values = {
                "case/input1.txt",
                "",
                "[0,4,3,0] 0"
        },
        types = {
                FileInputProvider.class,
                ConsoleInputProvider.class,
                StringInputProvider.class
})
@Require(values = {
                "case/input1.txt",
                "",
                "[0,4,3,0] 0",
                "case/input2.txt",
                "[3,3] 6",
        },
        types = {
                FileInputProvider.class,
                ConsoleInputProvider.class,
                StringInputProvider.class,
                FileInputProvider.class,
                StringInputProvider.class
})
//Customize output consumer.
@Require(types = ConsoleOutputConsumer.class)
@Require(values = "case/output.txt", types = FileOutputConsumer.class)
@Require(values = {"case/output.txt", "case/output_1.txt"}, types = FileOutputConsumer.class)
@Require(values = {"case/output.txt", ""}, types = {FileOutputConsumer.class, ConsoleOutputConsumer.class})
public class SimpleTest extends LeetcodeJavaDebugEnhancer {
    
    class Solution {/**ignored**/}
}

v1.0.1

25 Aug 08:43

Choose a tag to compare

What's Changed

  • feat: support data design type question debugging. by @Jidcoo in #8

Full Changelog: v1.0.0...v1.0.1

New Supported Feature

Support data design type question debugging.

Example

Question
Implement-Stack-Using-Queues

Code

//SimpleTest.java

public class SimpleTest extends LeetcodeJavaDebugEnhancer {

    class MyStack {
        Queue<Integer> queue1;
        Queue<Integer> queue2;

        /** Initialize your data structure here. */
        public MyStack() {
            queue1 = new LinkedList<Integer>();
            queue2 = new LinkedList<Integer>();
        }

        /** Push element x onto stack. */
        public void push(int x) {
            queue2.offer(x);
            while (!queue1.isEmpty()) {
                queue2.offer(queue1.poll());
            }
            Queue<Integer> temp = queue1;
            queue1 = queue2;
            queue2 = temp;
        }

        /** Removes the element on top of the stack and returns that element. */
        public int pop() {
            return queue1.poll();
        }

        /** Get the top element. */
        public int top() {
            return queue1.peek();
        }

        /** Returns whether the stack is empty. */
        public boolean empty() {
            return queue1.isEmpty();
        }
    }
}

Input

["MyStack","push","push","top","pop","empty"] [[],[1],[2],[],[],[]]

Output

[null,null,null,2,2,false]

v1.0.0

04 Apr 15:09
383b8a2

Choose a tag to compare

LeetcodeJavaDebugEnhancer v1.0.0 released!!!

Full Changelog: https://github.com/Jidcoo/LeetcodeJavaDebugEnhancer/commits/v1.0.0

@Jidcoo