自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 浅析Java中的final关键字

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:  一.final关键字的基本用法  二.深入理解final关键字  若有不正之处,请多多谅解并欢迎指正。  请尊重作者劳动成果,转载请标明原文链接

2016-03-16 15:49:45 295

原创 Java_数据结构(哈希表简介)

1.什么是哈希表?     哈希表是一种数据结构,它提供了快速的插入操作和查找操作。其基于数组来实现。 2.哈希化     1)直接将关键字作为索引。     2)将单词转换成索引。         将字母转换成ASCII码,然后进行相加         幂的连乘         压缩可选值 3.压缩后仍然可能出现的问题。     冲突:不能保证每个单词都映射到

2016-03-11 18:44:31 383

原创 Java_移位运算

java移位运算符不外乎就这三种:>(带符号右移)和>>>(无符号右移) 1、 左移运算符  左移运算符1)它的通用格式如下所示:  value num 指定要移位值value 移动的位数。  左移的规则只记住一点:丢弃最高位,0补最低位  如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了33%32=1位。 2)

2016-03-11 16:41:30 384

原创 程序员面试金典(动态规划):叠罗汉问题_最长递增子序列(java解法)

题目描述:叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上。同时我们应该让上面的人比下面的人更高一点。已知参加游戏的每个人的身高,请编写代码计算通过选择参与游戏的人,我们多能叠多少个人。注意这里的人都是先后到的,意味着参加游戏的人的先后顺序与原序列中的顺序应该一致。给定一个int数组men,代表依次来的每个人的身高。同时给定总人数n,请返回做多能叠的人数。保证

2016-03-10 20:38:39 3718

原创 程序员面试金典(排序与查找):元素查找(java解法)

题目描述有一个排过序的数组,包含n个整数,但是这个数组向左进行了一定长度的移位,例如,原数组为[1,2,3,4,5,6],向左移位5个位置即变成了[6,1,2,3,4,5],现在对于移位后的数组,需要查找某个元素的位置。请设计一个复杂度为log级别的算法完成这个任务。给定一个int数组A,为移位后的数组,同时给定数组大小n和需要查找的元素的值x,请返回x的位置(位置从零开始)。

2016-03-09 22:33:43 369

原创 程序员面试金典(排序与查找):变位词排序(java解法)

题目描述请编写一个方法,对一个字符串数组进行排序,将所有变位词合并,保留其字典序最小的一个串。这里的变位词指变换其字母顺序所构成的新的词或短语。例如"triangle"和"integral"就是变位词。给定一个string的数组str和数组大小int n,请返回排序合并后的数组。保证字符串串长小于等于20,数组大小小于等于300。测试样例:["ab","ba","abc

2016-03-09 21:50:56 1014

原创 程序员面试金典(动态规划):约瑟夫环问题(java解法)

题目描述约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和m小于等于1000。测试样例:5 3返回:4import java.util.*;public clas

2016-03-09 15:06:30 884

原创 程序员面试金典(动态规划):8(n)皇后问题(java解法)

题目描述请设计一种算法,解决著名的n皇后问题。这里的n皇后问题指在一个nxn的棋盘上放置n个棋子,使得每行每列和每条对角线上都只有一个棋子,求其摆放的方法数。给定一个int n,请返回方法数,保证n小于等于10import java.util.*;public class Queens { //Solution: 定义一个全局变量sum作为最后

2016-03-09 12:49:30 1391 1

原创 程序员面试金典(动态规划):1分,5分,10分,25分硬币面值组合问题(解题思路)

问题描述:假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n。例如n=200,那么一种可能的组合方式为 200 = 3 * 1 + 1*2 + 1*5 + 2*20 + 1 * 50 + 1 * 100. 问总过有多少种可能的组合方式?[华为面试题] 1分2分5分的硬币三种,组合成1角,共有多少种组合?[创新

2016-03-08 22:05:18 22650 3

原创 程序员面试金典(动态规划):返回某集合的所有子集(java解法)

import java.util.*;public class Subset {public ArrayList> getSubsets(int[] A, int n) { if(A==null||A.length==0) return new ArrayList<>(); Arrays.sort(A);// 数组A从小到大排序 r

2016-03-08 18:25:40 922

转载 java用三种方法实现阶乘n!

用三种方法来实现n!实现使用BigDecimal类,因为用int最多正确算到12!,用long最多正确算到20!.实现方法都比较简单,但是转换为BigDecimal实现后可能看起来有点莫名其妙。废话不多说,直接上代码:   第一种方法:从1开始,一直递增乘到n,从而实现n! Java代码  package Factorial;    

2016-03-07 17:41:54 5686 1

转载 用Java实现二叉树

二叉树的定义:二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。    二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。    这个定义

2016-03-06 23:14:13 357

转载 Java 二叉树查找算法代码

/** 二叉树节点 */   public class BTNode {     private char key;     private BTNode left, right;     public BTNode(char key) {       this(key, null, null);     }     public BTNode(char key, BT

2016-03-06 21:53:50 774

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除