java算法
文章平均质量分 53
飞人小天使
希望大家相互交流
展开
-
用线性时间复杂度实现找出数组中出现一次的元素
用线性时间复杂度实现找出数组中出现一次的元素原创 2016-10-22 10:34:42 · 404 阅读 · 0 评论 -
经典算法一个数二进制中1的个数
package exam;/** * Created by Administrator on 2017/3/15. */public class FindOneNumber { public static void main(String []args){ int result=findNumberOne(-10); System.out.prin原创 2017-03-15 14:59:34 · 458 阅读 · 0 评论 -
网易面试题之小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求
小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。例如:f(44) = 11.现在给出一个N,需要求出 f(1) + f(2) + f(3).......f(N)例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1 + 3 +原创 2016-11-24 21:18:48 · 2589 阅读 · 1 评论 -
网易面试题之小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。import java.util.*;public class Main{ public static void main(String args[]) { Sc原创 2016-11-24 21:17:06 · 3661 阅读 · 0 评论 -
网易面试题之A,B,C三个人是好朋友,每个人手里都有一些糖果
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。这道题目的实质是:判断三元一次方程组是否原创 2016-11-24 21:15:52 · 3351 阅读 · 0 评论 -
网易面试之对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0
对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:如果 X = 123,则rev(X) = 321;如果 X = 100,则rev(X) = 1.现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?import java.util.*;public class Main{ public static void main(原创 2016-11-24 21:12:21 · 4314 阅读 · 1 评论 -
网易面试题之暗黑字符串
一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串你的任务就是计算出长度原创 2016-11-24 21:09:25 · 521 阅读 · 0 评论 -
网易面试题之回文数字组合最少次数
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之原创 2016-11-24 21:02:03 · 1601 阅读 · 0 评论 -
网易面试之半径的平方如果为25 优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。
小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。输入描述:输入为一个整数,即为圆半径的平方,范围在32位int范围原创 2016-11-24 21:00:26 · 593 阅读 · 0 评论 -
网易面试题之动态规划跳石头问题
小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M = 24:4->6->原创 2016-11-24 20:59:00 · 1107 阅读 · 0 评论 -
java算法之动态规划基本思想以及具体案例
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通原创 2016-12-10 22:23:40 · 11078 阅读 · 0 评论 -
java实现中缀表达式转后缀表达式并且计算
自己写一个栈 用数组实现package cn.itcast.StackAndQuen;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * Created by likailong on 2016/10/16. * 中缀表达式到后缀表达式 */public class Ma原创 2016-10-17 17:04:18 · 3507 阅读 · 1 评论 -
自己实现迷宫算法并且打印出最优路径
package cn.itcast.shujujiegou.Swing;import java.awt.Color;import java.awt.Graphics;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.util.Random;import java.util.Stack;原创 2016-10-13 17:56:42 · 10173 阅读 · 1 评论 -
分治算法实现对一个数进行字典全排序
package com.company.Puzzal;import java.util.Arrays;/** * Created by likailong on 2016/10/22. * 按照字典全排列 用分治法 */class GenerateP{ private int n; // 求 1-n所有数字的全排列 private final int maxn原创 2016-10-22 10:49:50 · 358 阅读 · 0 评论 -
java分治算法实现n皇后问题
package com.company.Puzzal;/** * Created by likailong on 2016/10/22. */import java.util.Arrays;/* * n皇后问题: * 在一个n * n的国际象棋盘上放置n个皇后 ,使得这n个皇后不在同一行同一列,同一对角线上 求复合的方案数量 * 因为皇后不能同一行和同一列,原创 2016-10-22 10:47:43 · 735 阅读 · 0 评论 -
中缀表达式转后缀表达式java精确实现
package cn.itcast.StackAndQuen;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * Created by likailong on 2016/10/16. * 中缀表达式到后缀表达式 */public class MathCaculate {原创 2016-10-22 10:42:45 · 413 阅读 · 0 评论 -
网易面试题 输入一个数打出对成称数组
package cn.itcast.shujujiegou.BigDecimal;import java.util.Scanner;/** * Created by likailong on 2016/10/14. */public class Practice { public static void main(String [] args){ printi原创 2016-10-22 10:38:00 · 293 阅读 · 0 评论 -
已知前序遍历和中序遍历重建二叉树
package exam;/** * Created by Administrator on 2017/3/12. * 重建二叉树 * 递归创建 */public class RebuiltTree { public static void main(String[]args){ int []qianxu={1,2,4,7,3,5,6,8};原创 2017-03-15 15:00:33 · 309 阅读 · 0 评论