数组和链表--Java学习笔记(一)
版权声明:
本文由Faye_Zuo发布于http://www.cnblogs.com/zuofeiyi/, 本文可以被全部的转载或者部分使用,但请注明出处.
我是一个全职妈妈,两年前在上海一家人力资源公司从事流程管理、质量监控的工作,3年工作经验。后来随老公来到硅谷,发现软技能在美国无用武之地后,经过半年的思考,终于决定转行学习CS, 硬技术才是王道啊!决定后,我开始找寻学习的方向:(1)最开始接触html和css,后来发现兴趣不大,感觉这种东西更像是word,三个月后放弃;(2)然后听说APP特别火,于是尝试着摸索objectC,发现面向对象完全无法理解,三个月后,决定放弃。 (3)然后开始接触JAVA,听了国内曹学松老师的一些网络课程,感觉还有点感觉。加上中间怀二胎,速度很慢的把计算机的基础知识补充了一下。最近开始学习算法和数据结构,同时练习一些相关的leetcode的题目(只敢做easy)。终于有了那么一点点入门的感觉了!
下面谈谈最近一个阶段学习的东西:
最近10来天主要学习的数据结构和算法,主要看的是数组和链表。
一、数组
数组的概念对于我来说相对容易理解一些,在大学通过C语言二级的时候就有所接触。数组方面我主要练习了leetcode上面的两道题,一道是Two Sum,一道是Remove Duplicate from sorted array.
(一) Two Sum的过程中主要学习到了HashTable,HashTable最方便的地方是有一种对应关系,可以通过值,直接返回下标。具体用法如下:
{
map.put(nums[i],i);
(二)Remove Duplicate学习的过程中主要学习到了Two pointer的一个算法,我认为双指针中,首尾指针比较好理解,但是快慢指针我理解了一个下午。我开始总是认为快慢指针都是用来遍历的,后来才发现原来一个用来保存,一个用来遍历。
if(nums.length==0){
return 0;
}
int i=0;
for(int j=0;j<nums.length;j++){
if(nums[j]!=nums[i]){
i++;
nums[i]=nums[j];
}
}
return i+1;
ListNode prev=null;
ListNode curr=head;
while(curr!=null){
}
return prev;
ListNode cur = node;
while (cur != null) {
System.out.print(cur.val + "->");
cur = cur.next;
}
System.out.println();
数组和链表--Java学习笔记(一)的更多相关文章
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 20145330第八周《Java学习笔记》
20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...
- 20145330第六周《Java学习笔记》
20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...
- 20145330第五周《Java学习笔记》
20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
随机推荐
- 用while语句求1~100之和
用while语句求1~100之和 public class Ex3_5 { public static void main(String[] args){ int n=1,sum= ...
- [Android Pro] Android异步任务处理之AsyncTaskLoader的使用
reference to : http://blog.csdn.net/happy_horse/article/details/51518280 最近项目中涉及到加载本地的地名.db文件,数据量大,自 ...
- Docker Container 配置独立IP
1.宿主机安装网桥工具包 要是Linux可以工作在网桥模式,必须安装网桥工具bridge-utils,运行命令: yum install bridge-utils
- mysql安装
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.简单来说是本身可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.截取.更新.删除等操作. ...
- iOS让键盘消失,取消第一响应,取消一级响应
在开发中经常会遇到输入文本内容的时候,输入完毕的时候怎么让键盘消失的问题,有的是更改键盘的按键的方法,有的是点击屏幕的其他地方让键盘消失,个人更倾向于第二种,点击屏幕的其他地方让键盘消失,要实现这种方 ...
- display用法:
用法: 1.display:fixed: 存在于position定位top,left,right,bottom,fixed:脱离文档流的针对于浏览器窗口大小定位,可以更好的解决"缩小浏览器窗 ...
- Tensorflow 变量的共享
https://github.com/chenghuige/tensorflow-exp/blob/master/examples/sparse-tensor-classification/ tens ...
- Centos7 关闭防火墙(转)
转载地址:http://www.cnblogs.com/silent2012/archive/2015/07/28/4682770.html CentOS 7.0默认使用的是firewall作为防火墙 ...
- EF 配置(SqlServer,Mysql)
DbProvider Mysql <system.data><DbProviderFactories><remove invariant="MySql.Data ...
- gitbook安装与使用之windows下搭建gitbook平台
最近需要在GitBook中去阅读电子书 安装nodejs cnpm安装gitbook 解压书籍文件,并cd到书籍文件目录 gitbook serve 浏览器访问localhost:4000 先在win ...