
java
nsjlive
这个作者很懒,什么都没留下…
展开
-
Java:向上转型,向下转型,你还在头疼?
我们分别定义两个类:一个叫做Pet(宠物);一个叫做Dog,并且让Dog继承于Pet。public class Pet{ public void play(){ System.out.println("玩游戏"); }}public class Dog extends Pet{ public void sitDown(){ System.out.println("坐下");...原创 2019-10-19 00:25:24 · 273 阅读 · 0 评论 -
快速排序的时间复杂度与空间复杂度
我们来分析一下快速排序法的性能。快速排序的时间性能取决于快速排序递归的深度,可以用递归树来描述递归算法的执行情况。如图9‐9‐7所示,它是{50,10,90,30, 70,40,80,60,20}在快速排序过程中的递归过程。由于我们的第一个关键字是50,正好是待排序的序列的中间值,因此递归树是平衡的,此时性能也比较好。在最优情况Partition每次都划分得很均匀,如果排序n个...原创 2019-10-13 12:03:37 · 46734 阅读 · 6 评论 -
字符串中的最后一个唯一字符
字符串中的最后一个唯一字符分析,类似的题目有 字符串中的第一个唯一字符如果字符的indexOf的值等于lastIndexOf相等,说明该字符出现一次故问题相当于原问题的类似的问题。解法一:用到字符串中某字符的indexOf的值等于lastIndexOf将字符串翻转,字符串长度为len, 如果字符的indexOf的值等于lastIndexOf相等,令为i;则字符串中的最后一个唯一...原创 2019-10-13 01:00:13 · 1540 阅读 · 0 评论 -
猜运行数字游戏
public class Player { int num=0; public void guess(){ num=(int)(Math.random()*100000); System.out.println("I'm guessing"+num); }}原创 2017-11-11 21:44:25 · 313 阅读 · 0 评论 -
引用变量.(变量)的使用
public class Puzzle4 { public static void main(String[] args){ Puzzle4b[] obs=new Puzzle4b[6]; int y=1; int x=0; int result =0; while(x<6){ obs[x原创 2017-11-20 20:36:57 · 527 阅读 · 0 评论 -
继承与类的先后顺序
核心思想: 父类Animal public class Animal { public String name="laowang";(4) public int age =10; (3) //*属性* public void eat(){ //*方法* System.out.println("动物具有吃东西的能力");原创 2018-01-24 22:10:31 · 517 阅读 · 0 评论 -
Java提高篇——equals()与hashCode()方法详解
内容引自: http://blog.youkuaiyun.com/frankarmstrong/article/details/55802969?locationNum=9&fps=1 Java对于eqauls方法和hashCode方法是这样规定的: *1.如果两个对象相同,那么它们的hashCode值一定要相同; 2.如果两个对象的hashCode相同,它们并不一定相同(这里说的对象相同指的是用e转载 2018-01-25 22:15:45 · 138 阅读 · 0 评论 -
Collection的常用方法
如图: 1)ArrayListimport java.util.ArrayList;import java.util.Collection;public class CollectionDemo { public static void main(String[] args) { Collection coll=new ArrayList();//内存原创 2018-01-31 15:29:33 · 3113 阅读 · 0 评论 -
继承与多态及类型转换
1)父类:public class Animal { public void eat(){ System.out.println("动物具有吃的能力"); }}2)子类1继承父类public class Dog extends Animal { public void eat(){ System.out.print(原创 2018-01-27 17:02:34 · 295 阅读 · 0 评论 -
java中String类常用方法I(判断 Java 文件名是否正确,判断邮箱格式是否正确)
内容摘自慕课网 具体代码:public class HelloWorld { public static void main(String[] args) { // Java文件名 String fileName = "HelloWorld.java"; // 邮箱 String email = "laurenya原创 2018-01-29 20:01:30 · 8072 阅读 · 2 评论 -
Java 中的 String 类常用方法 Ⅱ
功能:统计指定字符串中字符 ‘a’ 出现的次数 分析:可以通过循环遍历字符串中的每一个字符,判断是否是字符 a ,如果是,则累加统计出现的次数public class HelloWorld { public static void main(String[] args) { // 定义一个字符串 String s = "aljlkdsflkjsadjfklh原创 2018-01-29 20:26:34 · 185 阅读 · 0 评论 -
Java 中的 StringBuilder 类的常用方法III
内容来自慕课网 任务 功能:将一个由英文字母组成的字符串转换成指定格式—从右边开始每三个字母用逗号分隔的形式。public class HelloWorld { public static void main(String[] args) { // 创建一个空的StringBuilder对象 StringBuilder str = new StringBu原创 2018-01-29 20:47:55 · 397 阅读 · 0 评论 -
获取文件上传路径报错:java.io.FileNotFoundException: (文件名、目录名或卷标语法不正确。)
在Windows中的文件路径格式为C:\Users\n\Desktop\MyText.txt 而在Java中的文件路径格式为 C:/Users/n/Desktop/MyText.txt 在java中使用前者则会报错,所以需要先将Windows中的文件路径转换为java中可识别的路径。File myFile =new File("C:/Users/n/Desktop/MyText.txt");//原创 2018-03-13 20:41:03 · 14930 阅读 · 3 评论 -
104. 二叉树的最大深度 数组构建完全二叉树以及最大深度 java
后续补充:存在疑问:1)数组只能构建完全二叉树吗?可否使用{1,2,null,1,2,3,...}的形式构建非完全二叉树部分代码参考自leetcode中的思想 104. 二叉树的最大深度import java.util.ArrayList;import java.util.List;public class BinTree { private int array[...原创 2018-08-31 22:50:02 · 741 阅读 · 0 评论 -
226. 翻转二叉树 java
翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法...原创 2018-08-29 10:18:27 · 495 阅读 · 0 评论 -
LeetCode 876. 链表的中间结点
转自:876. 链表的中间结点给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:...原创 2018-09-04 18:34:46 · 140 阅读 · 0 评论 -
关于链表 java
参考自:https://www.cnblogs.com/whgk/p/6589920.html 链表、头指针、头结点(经典) 参考自:https://blog.youkuaiyun.com/foreverhuylee/article/details/38780051 有时在单链表的第一个结点之前附设一个结点,称之为头结点 。 头结点的数据域可以不存储任何信息,也可以存储如线性表长度等类的附加信息...原创 2018-09-04 20:04:03 · 147 阅读 · 0 评论 -
804. 唯一摩尔斯密码词 Java leetcode
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..","原创 2018-08-30 15:11:38 · 342 阅读 · 0 评论 -
HashMap 知识点整理(持续更新中)
HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。HashMap的整体结构如下:简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前entry的next指向null),那么对于查找,添加等操作很快,仅需一次寻址即可;...原创 2018-08-30 15:16:44 · 199 阅读 · 0 评论 -
476. 数字的补数 java
参考自:https://blog.youkuaiyun.com/midnight_time/article/details/79796968给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。 你可以假定二进制数不包含前导零位。示例 1:输入: 5输出: 2解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需...原创 2018-09-08 16:36:14 · 572 阅读 · 0 评论 -
206 反转链表 java 及链表移动的知识点 图解
参考:链表翻转的图文讲解(递归与迭代两种实现)https://blog.youkuaiyun.com/fx677588/article/details/72357389单链表反转的两种实现(Java)https://blog.youkuaiyun.com/acquaintanceship/article/details/73011169反转一个单链表。示例:输入: 1->2->3-&...原创 2018-09-05 16:51:35 · 178 阅读 · 0 评论 -
java中关于char[]数组输出问题 以及各种类型数组输出问题
参考:https://blog.youkuaiyun.com/z10z32/article/details/76906499 public class Struct { public static void main(String[] args) { // converts String value to character array type value (把字符串值...原创 2018-09-08 20:33:31 · 6704 阅读 · 0 评论 -
344. 反转字符串 java
编写一个函数,其作用是将输入的字符串反转过来。示例 1:输入: "hello"输出: "olleh"示例 2:输入: "A man, a plan, a canal: Panama"输出: "amanaP :lanac a ,nalp a ,nam A" 方法1:主要是用s.toCharArray()方法,把字符串值转化为字符串数组类型String s;cha...原创 2018-09-08 20:55:33 · 317 阅读 · 0 评论 -
21. 合并两个有序链表 leetcode java
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Definition for singly-linked list. * public class ListNode { * ...原创 2018-09-05 19:14:31 · 774 阅读 · 0 评论 -
225 用队列实现栈 java
参考自: https://github.com/awangdev/LintCode/edit/master/Java/Implement%20Stack%20using%20Queues.java代码及测试案例:使队列queue1中最新存入的元素始终在队列front,这样可以保证后进先出。实现栈的功能。后面附了几种方法,测试都是可以用的。package com.company;...原创 2018-09-11 21:01:54 · 1572 阅读 · 0 评论 -
83. 删除排序链表中的重复元素 java 待补充
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3代码:部分也许理解有误,后续补充。“now=now.next"表示now节点指向下一个节点(即now.next节点),用”指向“表示更佳准确...原创 2018-09-08 21:23:42 · 248 阅读 · 0 评论 -
23. 合并K个排序链表 java 23
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6代码第二部分不理解,后续补充/** * Definition for singly-linked lis...原创 2018-09-06 00:46:41 · 527 阅读 · 0 评论 -
203. 删除链表中的节点 java
203.删除链表中的节点删除链表中等于给定值val的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5先贴上代码/** * Definition for singly-linked list. * public class List...原创 2018-09-09 11:10:33 · 408 阅读 · 0 评论 -
234. 回文链表 java
参考链接暂时找不到了。请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true代码如下:class Solution { public boolean isPalindrome(ListNode head) { if(head==null)...原创 2018-09-09 20:04:59 · 344 阅读 · 0 评论 -
496. 下一个更大元素 java 以及如何输出一个数组 (栈)
题目:https://leetcode-cn.com/problems/next-greater-element-i/description/给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第...原创 2018-09-09 23:55:58 · 929 阅读 · 0 评论 -
关于for循环
for(int j=0;j<arr.length-1-i;j++){A:}例如for(int j=0;j<9;j++){A;}1)先定义j=0,满足j<9,执行A;j=0的循环结束;2)执行j++,于是j=1;满足j<9,执行A;j=1的循环结束;3)执行j++,于是j=2,满足j<9,执行A;j=2的循环结束;。。。4)...原创 2018-09-12 13:17:05 · 335 阅读 · 0 评论 -
232. 用栈实现队列 java
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1qu...原创 2018-09-10 20:48:54 · 668 阅读 · 0 评论 -
844. 比较含退格的字符串 java
题目:https://leetcode-cn.com/problems/backspace-string-compare/description/ 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。import java.util.Stack;public class TwoQueueImplStack { ...原创 2018-09-18 08:43:21 · 352 阅读 · 0 评论 -
20.有效括号(Valid Parentheses) java
题目:https://leetcode.com/problems/valid-parentheses/description/import java.util.Stack;public class TwoQueueImplStack { public static void main(String[] args) { St...原创 2018-09-18 10:00:54 · 159 阅读 · 0 评论 -
682. 棒球比赛 java
题目: https://leetcode-cn.com/problems/baseball-game/description/示例 1:输入: ["5","2","C","D","+"]输出: 30解释: 第1轮:你可以得到5分。总和是:5。第2轮:你可以得到2分。总和是:7。操作1:第2轮的数据无效。总和是:5。第3轮:你可以得到10分(第2轮的数据已被删除)。总数是:15...原创 2018-09-11 00:31:24 · 399 阅读 · 0 评论 -
IDEA java项目中添加jar包
摘自:https://blog.youkuaiyun.com/machao0903/article/details/77643554 点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的“Modules”显示界面。2.在 “Dependencies” 标签界面下,点击右边绿色的 “...原创 2018-09-20 21:09:01 · 711 阅读 · 0 评论 -
java中的成员变量和局部变量区别 实例
1、作用域不同 成员变量的作用域在整个类内部都是可见,可用的; 局部变量的作用域仅限于定义它的方法,不能被其它方法调用;2、初始值不同 java会给成员变量一个初始值,初始值为0;java不会给局部变量赋予初始值,必须自己赋值;3、在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名的局部变量;4、成员变量和局部变量...转载 2018-09-20 21:27:12 · 230 阅读 · 0 评论 -
3:数组中重复的数字 剑指offer
题目:题目一: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 比较容易想到的方法用哈希表存出现过的数,从头到尾遍历一遍,每遍历一个数字都可以判...原创 2018-10-11 20:02:40 · 105 阅读 · 0 评论 -
插入排序与希尔排序 java
涉及到数组clone,随机数生成 public class ShellSort { public static void main(String[] args) { int[] arr = new int[10000]; //需要指定数组的长度 //打印 1到10000之间的随机数 int radom=0; fo...原创 2018-09-27 09:31:28 · 96 阅读 · 0 评论 -
leetcode 709. 转换成小写字母 c#及测试案例 java
代码1:public class Solution { public string ToLowerCase(string str) { if(null==str) { return null; } char ch[]=str.toCharArray();//toCharArray() 方法将字符串转换为字符数组。 ...原创 2018-07-18 10:08:30 · 491 阅读 · 0 评论