Releases: Jidcoo/LeetcodeJavaDebugEnhancer
Releases · Jidcoo/LeetcodeJavaDebugEnhancer
v1.0.2
What's Changed
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
What's Changed
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]