github demo : https://github.com/happyjiatai/LeetCodeTest/tree/master/1_two_sum
1.搜索
百度一下
第一个链接是leetCode国际版?第二个是中文版,我进入到中文版里去了。
2.界面
3.题目
随便点第一个两数之和
3.1 编写代码
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i = 0; i < nums.length - 1; i++){
for(int j = i + 1; j < nums.length; j++){
if(target == nums[i] + nums[j]){
return new int[]{i, j};
}
}
}
return null;
}
}
3.2 编写测试用例
勾选自定义测试用例,自己写输入
3.3 执行代码
3.4 Android studio test
package com.example.a1_two_sum;
public class MyClass {
public static void main(String args[]){
Solution solution = new Solution();
int[] result = solution.twoSum(new int[]{12,32,54,1}, 55);
if (null == result){
System.out.println("null");
}else{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("[");
for(int i : result){
stringBuilder.append(i);
stringBuilder.append(",");
}
stringBuilder.deleteCharAt(4);
stringBuilder.append("]");
System.out.println(stringBuilder);
}
}
}
class Solution{
public int[] twoSum(int[] nums, int target) {
for(int i = 0; i < nums.length - 1; i++){
for(int j = i + 1; j < nums.length; j++){
if(target == nums[i] + nums[j]){
return new int[]{i, j};
}
}
}
return null;
}
}
3.5 提交
3.5.1 官方用例
3.5.2 官方解答
方法二使用了hashmap省去了暴力遍历的第二层遍历,因为hashmap是通过hash值确定位置的,不需要依次遍历。方法三是在方法二基础上的优化。
4. 总结
emmm,一周一题?