【LeetCode刷题】——两数之和.1

tobestronger 2019-10-20 原文

【LeetCode刷题】——两数之和.1

—恢复内容开始—

一直想在leetcode上面刷题,但是java刚刚摸了一下门,所以迟迟没有动手,今天做了第一道题,感觉自己实在菜的不行,但是还是学到了很多东西,

就记录一下遇到的问题。

  首先是题目描述

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对

应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

  先看下自己写出来的代码:

  

 

   可以看出编程的思想还是很原始的。运行时出现了问题:

1.

 

这其实是数组越界问题,问题的原因在于,数组定义是从0到length-1的,而当我的i=length的时候就已经超出了数组的最大表示范围,所以显示数组越界。

其实我觉得这和我这段时间用verilog写硬件有关系,因为用那个的时候for循环里面都是用的<=,实际上我在for(;;)里面也用逗号进行的分隔(真的是

功夫不到家)。那么这是第一个错误。实际上这里还有一个错误,就是i的初始值应该为0。

2.这时出现了第二个错误:

这个错误的意思是没有返回值,我们发现,在数组内部没有两个数的和是target时是没有返回值的。所以在这里加上return null。

这里就运行成功了。

再来看下大佬的代码:

 

 

 发现这里面有一行

 

 

 

这里面有一个throw的用法,throw是用来抛出异常状态的,改天另写一篇关于学习throw的,然而我在运行大佬代码的时候发现,会显示

 

 这个地方其实不是原来代码出现问题了,而是上文说的,初始化i应该=0,而我原来的代码里i=1,这里为什么会输出这样的结果呢?

我认为是这样,我们测试用的数组是【2,7,11,15】,target 9

这样在运行的时候,因为是从7开始检索的,那么显然循环中没有发现和为9的两个数,于是开始运行throw语句,抛出了异常:IllegalArguementException

 

 

 

 

发表于
2019-10-20 23:35 hngn 阅读() 评论() 编辑 收藏

 

版权声明:本文为tobestronger原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tobestronger/p/11711005.html

【LeetCode刷题】——两数之和.1的更多相关文章

随机推荐

  1. 带着身体在香港肤浅行走(三)

      过去三年,我几乎每晚都做梦。我入睡不难,也不容易被惊醒,可就是做梦,第二天起床后一段时间内对梦的内容还记忆 […]...

  2. Delphi – 互斥对象下实现系统的单例模式

    使用CreateMutex函数创建互斥对象 利用Windows系统函数CreateMutex(),找出当前系统 […]...

  3. window系统查看端口被哪个进程占用了

    一、在windows命令行窗口下执行:运行–cmdC:\>netstat -aon|find […]...

  4. DDD – 概述 – 聚合 – 限界上下文 (四)

    话少理不少,长篇大论的水太多,如果真要长篇大论,我可以把 《实现领域驱动设计》也分14个章节写出,但是就是因为 […]...

  5. 解决在使用Amoeba遇到的问题

    最近有同行在使用Amoeba 的过程中多少遇到了一些问题。 总结一下遇到问题的解决方法: 1、读写分离的时候设 […]...

  6. JavaEE 技术体系

      JavaEE 技术体系总结:     一:常见模式与工具 设计模式,流行的框架与组件 常见的设计模式,编码 […]...

  7. 体表面积计算

    体表面积计算人体体表面积在医学中应用较广,特别是在药物计算中是一项重要的指标。软件原理:体表面积的计算中国成年 […]...

  8. pyhton 关于 configparser 配置 模块 实践使用中碰到的坑

    pyhton 关于 configparser 配置 模块 实践使用中碰到的坑 今天做一个ATM的练习,想要用c […]...

展开目录

目录导航