比较当前的数与被target减去的数之间的大小,将最大的数作为键,当前坐标为值存入。如:当前nums[j]=1,target是8,则往map中存入(7,j) 如果已经存在了,就返回之前存入的坐标与当前的坐标(putIfAbsent不会替换值)。如:当前nums[k] = 7,此时再putIfAbsent的时候就不为空了,且map中存的是j值(也就是之前的坐标),返回[j,k]即可。
利用map集合同时存储数值与序号。逐步循环,检验已录入的值是否可以符合两数相加和,满足则输出两数序号。不满足则将当期值存入map中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。