- 博客(17)
- 收藏
- 关注
原创 反转链表
法一:迭代class Solution { public ListNode reverseList(ListNode head) { ListNode cur=head; ListNode pre=null; ListNode temp; while(cur!=null){ temp=cur.next...
2020-03-31 22:31:24 59
原创 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 ...
2020-03-31 18:37:57 125
原创 Java笔记(八)——Map
一、简介 Map接口下存在实现类HashMap、LinkedHashMap(前者的子类)、EnumMap,并有子接口SortedMap,该子接口下有TreeMap。仔细观察可以发现Map接口下的派生类与Set接口下的派生类十分相似,至少从名字上就不难看出。 Map对象中存储的对象以键值对的形式存在,其中key不允许重复,value可以重复。key集合可以理解为一个Set集合,...
2020-03-31 10:38:21 76
原创 多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3] 输出: 3示例 2:输入: [2,2,1,1,1,2,2] 输出: 2来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority...
2020-03-31 09:50:41 68
原创 相交链表
编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:思路: 假设链表A的长度为a,链表B的长度为b,相交后的链表长度为c。初始化pa、pb两个工作指针分别为A、B链表的头节点,分别遍历链表,当遍历到C链表尾部时,再分别赋值pa=B链表头节点,pb=A链表头节点。如若两个链表相交则终会有一刻两工作指针指向同一结点。这是为什么呢?可以作如下思考:相交则有a+c+b+c=b+c+...
2020-03-30 17:09:01 111 1
原创 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1] 输出: 1示例 2:输入: [4,1,2,1,2] 输出: 4法一:暴力双重循环(时间复杂度O(n^2))class Solution { public int si...
2020-03-28 22:23:55 51
原创 Java讲义笔记(七)——List集合、Queue集合
一、List集合简介List集合接口属于Collection接口的一个子接口,其实现类有LinkedList、ArrayList、Vector、Stack。List集合的特点是存储的元素是无序的、允许重复的。二、ArrayList和Vector实现类 这两个实现类的底层都是基于数组实现的,所以他们实际上是封装了一个动态的、可再分配的数组。在构造ArrayList和Vector...
2020-03-27 20:17:07 190
原创 环形链表
给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1:输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。示例 2: 输入:head = [1...
2020-03-27 16:36:18 57
原创 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶...
2020-03-26 21:36:41 52
原创 最大子序列
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。class Solution { public int maxSubArray(int[] nums) { int cur=nums...
2020-03-26 11:07:33 47
原创 合并两个有序链表
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ...
2020-03-25 23:08:46 118
原创 Java讲义笔记(六)——Set集合
一、前言 Java集合类主要由两个接口派生而出,一个是Collection接口另一个是Map接口。Collection接口下又派生出Set、List、Queue(Java5之后出现)。 Set接口下派生出子接口SortedSet(TreeSet类),EnumSet、HashSet(LinkedHashSet)...
2020-03-25 21:57:43 108
原创 创建一个Mybatis项目
Mybatis学习之路(一)一、Mybatis+Maven构建web项目第一步第二步:一路next。最后Finish第三步:创建项目目录,也就是红框框里得第四步:在pom.xml添加依赖 <dependencies> <!-- ********************** Java Servlet API 4.0.0-b01 ***************...
2020-03-20 00:31:11 206
原创 使用Java将当前目录下的内容复制到另一个目录下
问题描述将《作业原始》文件夹中的内容(仅包括文本文件和目录)复制到《作业目标》下的《作业复制》文件夹中,文件内容也要使用流进行完整复制。代码//树结点public class Node { private Node left; private Node right; private String name; private String path; ...
2020-03-10 23:16:19 272
原创 多线程学习(一)
一、创建线程的三种方式1. 继承Thread类,重写run()方法代码展示public class myThread extends Thread { //成员变量 private String title; //构造方法 public myThread(String title){ this.title=title; } //业...
2020-03-10 17:50:12 99
原创 Java读书笔记
第三章Java支持两种变量类型:基本类型,引用类型。Java中的一个整数默认是int型。给出一个小数,默认是double类型。float a=2.0;是错的,正确得应是float a=2.0f;计算机中以补码的形式存放所有整数。正数的补码就是其原码,负数的补码是符号位不变其他位取反再加1。并不是任何数除以0都报错。整数除0抛出异常。浮点数运算中除0得正无穷或负无穷。能指定直接量的只有...
2020-03-06 17:40:34 611
原创 Java多态性
一、多态的基本概念Java中的多态性是面向对象中的第三大主要特征(其余两个是封装和继承)。多态性实际上是在继承的基础上扩展出来的。二、方法的多态性主要体现在以下两个方面方法的重载(Overload) 这种现象主要发生在同一个类中,对于两个或多个方法,他们拥有相同的方法名,但是方法的参数类型或者数目不同,则称为发生了方法的重载。方法的重载与方法的返回类型无关。也就是说如果两个方法仅返回值...
2020-03-02 17:04:07 961
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人