博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. 两数之和
阅读量:6354 次
发布时间:2019-06-22

本文共 1756 字,大约阅读时间需要 5 分钟。

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]  1 class Solution {
2 public int[] twoSum(int[] nums, int target) {
3          4         int[] result = new int[2]; 5         for (int i = 0; i < nums.length; i++) { 6             for (int j = i + 1; j < nums.length; j++) { 7                 if (nums[i] + nums[j] == target) { 8                     result[0] = i;  9                     result[1] = j;10                     return result;11                 }12             }13         }14         return result;15     }16 }

 

官方解答

1 public int[] twoSum1(int[] nums, int target) { 2         for (int i = 0; i < nums.length; i++) { 3             for (int j = i + 1; j < nums.length; j++) { 4                 if (nums[j] == target - nums[i]) { 5                     return new int[]{i, j}; 6                 } 7             } 8         } 9 10         throw new IllegalArgumentException("no two sum solution");11     }

 

分析:官方解答的优点。 return new int[]{i,j} 还有throw new IllegalArgumentException("no tow sum solution")

 

1 public int[] twoSum(int[] nums, int target) { 2  3         Map
map = new HashMap<>(); 4 5 for (int i = 0; i < nums.length; i++) { 6 map.put(nums[i], i) 7 } 8 9 for (int i = 0; i < nums.length; i++) {10 int complement = target - nums[i];11 if (map.containsKey(complement) && map.get(complement) != i) {12 return new int[] {i, map.get(complement)}13 }14 15 16 }17 throw new IllegalArgumentException("no to sum solution");18 }

 

本人好久没有写java了,要开始练习java语言了。

转载于:https://www.cnblogs.com/hello-lijj/p/9508111.html

你可能感兴趣的文章
MySQL基础安全注意细节
查看>>
Oracle随机函数—dbms_random
查看>>
pvr 批量转换
查看>>
linux命令basename使用方法
查看>>
windows下开发库路径解决方案
查看>>
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
2015.06.04 工作任务与心得
查看>>
icinga2使用587端口发邮件
查看>>
hpasmcli查看HP服务器内存状态
查看>>
【14】Python100例基础练习(1)
查看>>
boost bind使用指南
查看>>
使用ntpdate更新系统时间
查看>>
Android M 特性 Doze and App Standby模式详解
查看>>
IE FF(火狐) line-height兼容详解
查看>>
谷歌Pixel 3吸引三星用户, 但未动摇iPhone地位
查看>>
VUE中使用vuex,cookie,全局变量(少代码示例)
查看>>
grep -w 的解析_学习笔记
查看>>