Java
VictorLeeLk
我是世界的某个BUG
展开
-
LeetCode个人笔记-Two Sum(1)
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the sam原创 2017-03-01 22:45:13 · 536 阅读 · 0 评论 -
[java]冒泡排序的常规、改进以及递归实现
package sort_book_datastruction;import java.util.Arrays;/** * 冒泡排序; * @author Administrator * */public class BubbleSort { public void bubbleSort(int[] array){ for(int i = 1;i<array.le原创 2017-08-26 20:04:54 · 1094 阅读 · 0 评论 -
[java]选择排序
//选择排序(08/26),个人写 public void selectsort(int[] array){ if(array==null||array.length==0) return; for(int i=0;i<array.length;i++){ for(int j=i+1;j<array.length原创 2017-08-26 22:54:05 · 322 阅读 · 0 评论 -
[java]归并排序
package sort_book_datastruction;import java.util.Arrays;public class MergeSort { /** * 归并排序 * 简介:将两个(或两个以上)有序表合并成一个新的有序表 即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列 * 时间复杂度为O(原创 2017-08-27 13:55:15 · 299 阅读 · 0 评论 -
[java]二叉树构建、遍历、深度、平衡性
package tree;/** * 2017-3-15 * 剑指offer-P55 * @author victorlee * */public class ConstructTree{ public Tree construct(int[] pre,int[] in){ if(pre.length ==0 || in.length == 0)原创 2017-08-27 19:27:32 · 424 阅读 · 0 评论 -
JAVA堆栈图解
转自:http://www.iteye.com/topic/6345301.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(转载 2017-08-23 22:07:54 · 27520 阅读 · 12 评论 -
[JAVA]数组旋转输出
注意元素开始输出的位置;总共有输出多少轮:n/2+1每一轮分为上、右、下、左。求每一个方向起始位置与坐标的关系。import java.util.ArrayList;import java.util.Scanner;/* * 旋转输出矩阵,从中心元素开始,矩阵n*n,n为奇数。 */public class rotateOrder { public ArrayList<I原创 2017-09-22 22:05:02 · 1632 阅读 · 1 评论 -
[java] 二叉树的后序遍历(递归与非递归实现)
后序遍历递归定义: 先左子树,后右子树,再根节点。后序遍历的难点在于:需要判断上次访问的节点是位于左子树,还是右子树。若是位于左子树,则需跳过根节点,先进入右子树,再回头访问根节点;若是位于右子树,则直接访问根节点。直接看代码,代码中有详细的注释。 public void behindOrder(Tree n){ if(n!= null){ behindOr原创 2017-08-29 15:16:51 · 3911 阅读 · 0 评论 -
[JAVA]toString()、String.valueOf()、(String)
在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。 方法1:采用 Object.toString()方法请看下面的例子: Object object = getObject()转载 2017-09-25 22:38:34 · 283 阅读 · 0 评论 -
动态规划-最少硬币组合问题
import java.util.Scanner;/* * 假设有 1 元,3 元,5 元的硬币若干(无限),现在需要凑出 11 元,问如何组合才能使硬币的数量最少? */public class GetLeastNum { public int getLeastNum(int[] array,int n){ int lens=array.length;原创 2017-09-19 11:20:34 · 2649 阅读 · 0 评论 -
[java]插入排序及折半插入排序
package sort_book_datastruction;import java.util.Arrays;/** * 插入排序:主要是将待排序的元素插入到已经排好序的列表中,从而编程长度加1的有序表; * 具体步骤:例如第i个元素是待排序的元素,则前i-1个元素是已经非递减排列的序列,将第i个元素插入到前面已经排好的序列中, * 该元素从第i-1个元素进行比较,如果大于第i-1个元素,原创 2017-08-26 16:34:32 · 316 阅读 · 0 评论 -
java 希尔排序
package sort_book_datastruction;import java.util.Arrays;/** * 2017/4/1 * 希尔排序:是插入排序的一种,又称为缩小增量的插入排序或者分段排序 * 基本思想:将整个待排序序列分割成若干个待排序子序列; * 对这些子序列分别进行排序,不断缩小增量,构成子序列,再排序; * 当整个序列基本有序时,再对原创 2017-08-26 16:27:39 · 340 阅读 · 0 评论 -
LeetCode-Add Two Numbers
2. Add Two NumbersYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the原创 2017-03-02 16:10:16 · 358 阅读 · 0 评论 -
Java equals方法和==区别
java由于没有C/C++指针的概念,因此在进行比较的情况下容易产生困惑,当前比较的到底是变量的地址还是变量所表示的内容。为了弄清楚这个问题,首先得了解==和equals方法的应用场景以及java的数据类型区别。1、关系操作符 ==java数据类型分为两种,一种是基本数据类型,也就是如下8种: 浮点型:float(4 byte), double(8 byte)原创 2017-03-27 16:03:13 · 739 阅读 · 0 评论 -
JAVA中堆和栈的区别
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 在转载 2017-03-28 14:44:57 · 286 阅读 · 0 评论 -
Eclipse常用快捷键
Alt+/:代码提示Ctrl+/:注释/取消注释Ctrl+D:删除光标所在行Ctrl+K:将光标停留在变量上,按Ctrl+K键可以查找到下一个同样的变量Shift+Ctrl+K:和Ctrl+K查找的方向相反Shift+Ctrl+F:代码格式化。如果选择了代码,仅对所选代码格式化Shift+Ctrl+O:快速地导入importShift+Ctrl+X:将所选字符转为大写转载 2017-03-22 21:35:08 · 345 阅读 · 0 评论 -
Java单链表的操作
本文实现的是JAVA的单链表操作,主要包括插入、删除头结点,在指定位置插入节点,根据位置或者节点的数据删除节点。节点的定义如下:package com.tyxh.link; //节点类 public class Node { protected Node next; //指针域 protected int data;//数据域原创 2017-03-12 20:35:47 · 650 阅读 · 0 评论 -
Java重建二叉树
输入前序和中序二叉树遍历的结果,重建出该二叉树。直接上代码,可以参考代码中的相关注释。首先定义树的结点结构,如下:package tree;public class Tree { public int val; public Tree left_child; public Tree right_child; public Tree(int val){原创 2017-03-15 16:37:05 · 812 阅读 · 0 评论 -
JAVA只有值传递
许多编程语言都有2种方法将参数传递给方法------按值传递和按引用传递。 与其他语言不同,Java不允许程序员选择按值传递还是按引用传递各个参数,基本类型(byte--short--int--long--float--double--boolean--char)的变量总是按值传递。就对象而言,不是将对象本身传递给方法,而是将对象的的引用或者说对象的首地址传递给方法,引用本身是按值传递的-转载 2017-03-31 23:35:25 · 389 阅读 · 0 评论 -
排序算法之直接插入
基本思想将一个记录插入到已排序的有序表中,从而得到一个新的记录数据增1的有序表n-1趟插入:先将序列中的第一个记录看成一个有序的子序列,然后从第二个记录逐个插入,直到整个序列编程按关键字非递减有序序列为止。具体步骤例如第i个元素是待排序的元素,则前i-1个元素是已经非递减排列的序列,将第i个元素插入到前面已经排好的序列中,该元素从第i-1个元素进行比较,如果大于第i-1个元素,则直接插入;原创 2017-04-12 16:11:27 · 398 阅读 · 0 评论 -
[JAVA程序员面试金典]最长递增子序列
最简单的思路是动态规划,数组array表示输入的数组,用一个数组dp记录子串每一位的最长递增子串长度,采用公式 dp[i]=max(dp[i],dp[j]+1)其中j<i,并且array[i]>array[j]dp[i]=max(dp[i],dp[j]+1) 其中j<i,并且array[i]>array[j] 代码如下:package niuke;/* * 最长递增子序列 * 17/6/原创 2017-06-08 22:29:27 · 2320 阅读 · 0 评论 -
动态规划-硬币组合数目
import java.util.Scanner;/* * 硬币的类型有1角,2角,5角,给定一个数额n,多少种组合方式 *///暴力解法public class CashNum { public int getNum(int n){ int count=0; for(int i=0;i<=n;i++) for(int j=0原创 2017-09-19 12:36:54 · 1888 阅读 · 0 评论