LeetCode技术积累:
-
205同构字符串
这是我在leetcode刷的第一个题目,我甚至都不知道怎么去写,怎样去实现,我首先是先选择了自己熟悉的java语言,然后去参考别人的代码找到最合适的解法自己加以理解。然后不知道如何更好刷题的我,又去看了javascript解法,然后就完蛋了,为什么这样说呢,因为我们只学了一点皮毛然后引发了许多的问题,我不懂然后就去查资料各种问什么的,感觉很费时间,在学长的建议之下,leetcode刷题,均采用自己常用的语言来写,其他的就不看了。
我从205当中学到了什么呢? 1、什么是映射? 2、charAt()返回指定索引处的字符; 3、了解到javascript里面indexOf()方法的使用,以及for循环里面var与let的区别。
-
206反转链表,讲真的我数据结构学的是真的烂,看到这个题我就懵了,仿佛知道解法但就是不知道怎么写,,,我一开始就去参考了别人的代码,选择了一个自己能够理解的代码,提交成功以后在学长的讲解下懂得了原理之后再次进行改进。最后提交成功了但是我深刻觉得,数据结构不能丢哦~
-
258各位相加-摸索使用了四种方法来解决,从最简单的找规律到后面参考改进,这是一个学习理解的过程。在此过程中
1、复习了num%9==0?9:num%9方法; 2、学习使用双层while循环判断; 3、当在理解别人的代码时有时会很慢,但是一定要仔细,逻辑要清晰。
-
278第一个错误的版本,我最开始是自己乱搞,弄出一个超出时间限制出来哈哈哈,找不出问题不知道怎么改的我,选择了从学长的代码进行理解以及改进。使用二分查找法解决。
1、使用二分查找法解决问题; 2、怎样调用接口;
-
290单词规律,这个就更厉害了,我接触到哈希表解决问题,这是我之前漏下的知识点,在这之前我自己我看了大家的解法,想着我没学哈希表所以就算了选了一个稍微能看懂的代码,可是后面发现太绕了,最后又去学了哈希表感觉并不是自己想的那么难以接受。
1、split()方法,切分字符串为子字符串; 2、length与length()的区别,前者是得到数组容量,后者得到字符串长度; 3、哈希表创建对象以及简单的使用;
-
1两数之和,一看就感觉特别简单,可是却一错再错哈哈哈哈,不过最后用双重循环解出来了。
-
7整数反转,好吧,我承认,我一开始真的不知道要怎样给他添加数值范围要求,就没想到,后面自己的代码总出bug以后,我不得不去寻找答案,最后解决了。可是我依然对自己一开始的代码有所疑惑,就是返回值的问题。
两个if语句各有返回值,但是在大括号外面还得有返回值,这个返回值应该怎么来写???
-383赎金信,这个吧,还有点问题,我自己写不来然后去看人家的发现。。有点子问题啊,但也还好吧,勉勉强强。也能写得出来他大概的意思我也是知道的,就是写法可能跟我也前接触的不太一样。
toCharArray()方法,将字符串中对象中的字符转换成一个字符数组
以上便是我这几天练习的所有LeetCode题目,每个题我都写了相应的博客,大家如有需要可自行查看。
牛客网的技术分享
7.9-7.14共打卡4天,练习习题共125题(有2天忘记打卡);成功题数41,成功率=32.8%;
想看纯技术分享吗???内容那个有点多,我做了一些整理会另发博客,有需要的可以自取。
在这提出几点:
方法重写两同两小一大原则:
(1)方法名相同,参数类型相同;
(2)子类返回类型小于或等于父类返回类型;
(3)子类抛出异常小于或等于父类抛出异常;
(4)子类访问权限大于等于父类方法访问权限;
编译时异常(需要我们手动去捕捉,try{}catch捕捉,或者用throws子句声明):
Throwable(可抛出)、
Exception(例外)、
IOException(IO流异常。一般在读写数据的时候)、
EOFException(文件结束异常)、
FileNotFoundException(文件未找到异常)、
MalformedURLException(URL非运行破例)、
UnknownHostException(未知和例外)、
ClassNotFoundException(找不到一个类)、
CloneNotSupportedException(克隆)
运行时异常(程序员自己分析代码决定是否捕获和处理,比如空指针):
Error、
RuntimeException(代码有问题)、
ArithmeticException(出现异常的运算条件时,抛出此异常)、
ClassCastException(Java强制类型转换异常)、
IllegalArgumentException(非法参数异常,报这个异常说明传入的参数违反了一个方法要求的某些特性。)、
IllegalStateException(无效状态异常。 一般来说无效状态异常是因为你弄错了调用一个方法的流程)、
IndexOutOfBoundsException(数组下标越界异常)、
NoSuchElementException、
NullPointerException(空指针异常);
而声明为error的,属于严重错误,如系统崩溃、虚拟机错误、动态连接失败等,这些错误无法恢复,或者不可能捕捉
java多线程实现方式主要由4种:
继承Thread类(无返回值)、
实现Runnable接口(无返回值)、
实现Callable接口通过FutureTask包装器来创建Thread线程(有返回值)、
使用ExecutorService、Callable、Future实现有返回结果的多线程(有返回值)。
java.awt---图形界面设计(GUI)用来创建用户界面和绘制图形图像的所有类;
java.io---全面的IO接口;
java.sql---提供使用java编译语言访问并处理储存在数据源中的数据API;
java.rmi---提供RMI包(远程调用);