在IDEA上快樂刷力扣
為即將到來的秋招准備刷題,網上找了很多教程,整理一下,方便以后換電腦快速上手
一、安裝力扣插件
在IDEA內部直接install即可
File-->settings-->plugins
二、配置力扣插件
File-->settings-->tools
$!velocityTool.camelCaseName(${question.titleSlug})
package leetcode.editor.cn;
${question.content}
public class $!velocityTool.camelCaseName(${question.titleSlug}){
public static void main(String[] args) {
Solution solution = new $!velocityTool.camelCaseName(${question.titleSlug})().new Solution();
}
${question.code}
}
三、配置賬戶
右下角打開安裝好的力扣
登陸力扣,按F12
四、調試本地樣例
附代碼:
package leetcode.editor.cn;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class TwoSum{
public static void main(String[] args) {
Solution solution = new TwoSum().new Solution();
Scanner sc=new Scanner(System.in);
System.out.println("請輸入數組:");
int[] nums=new int[3];
for (int i = 0; i <nums.length; i++) {
int b=sc.nextInt();
nums[i]=b;
}
System.out.println("請輸入目標數字:");
int target=sc.nextInt();
int[] ints=solution.twoSum(nums,target);
System.out.println(Arrays.toString(ints));
}
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public int[] twoSum(int[] nums, int target) {
//hash映射,創建集合對象,作為鍵的對象整數,值得對象存儲整數
//用接口Map引用對象會使程序更加靈活
//key:nums[i];value:i
Map<Integer,Integer> map =new HashMap<>();
//遍歷數組nums,i為當前下標
for(int i=0;i<nums.length;i++){
//每個值都判斷map中是否存在target-nums[i]的key值
if(map.containsKey(target-nums[i])){
//如果存在則找到了這兩個值
return new int[]{ map.get(target-nums[i]),i};
}
//如果不存在則將當前的(nums[i],i)存入map繼續遍歷
map.put(nums[i],i);
}
//如果最后都沒有結果,則拋出異常
throw new IllegalArgumentException("No two sum solution");
}
}
//leetcode submit region end(Prohibit modification and deletion)
}