自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alex-zhai专栏

用键盘记录生活的每一瞬间

  • 博客(109)
  • 资源 (1)
  • 收藏
  • 关注

原创 利用xgboost4j下的xgboost分类模型案例

package spark.xgb.testimport ml.dmlc.xgboost4j.scala.Boosterimport ml.dmlc.xgboost4j.scala.spark.XGBoostimport org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSession/** * Created by zha

2017-12-07 11:15:48 5628 1

原创 RDD转换成DataFrame的两种方法

1.根据反射推断schemaimport org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.SQLContextobject createDF { // 方法1 根据包括case class数据的RDD转换成DataFrame // case class定义表的schema,case class的属

2017-11-14 15:40:02 11232

原创 编程之美2.10 寻找数组中的最大值和最小值

//思路:分治思想。分别求出前后N/2个数的Min和Max。import java.util.Scanner;public class BeautyPro210 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method

2016-12-06 09:15:21 589

原创 编程之美1.8:小飞的电梯调度算法

问题:由于楼层并不高,在繁忙时段,每次电梯从一层往上走时,我们只允许停到其中某一层。所有乘客再从这层去往自己的目的楼层。电梯停在哪一层,能够保证乘客爬楼梯之和最少?import java.util.Scanner;public class BeautyPro18 { /** * @param args */ public static void main(Strin

2016-12-02 13:52:10 1181

原创 [编程题]数组中的逆序对

有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一个高效的算法,计算给定数组中的逆序对个数。 给定一个int数组A和它的大小n,请返回A中的逆序对个数。保证n小于等于5000。 测试样例: [1,2,3,4,5,6,7,0],8 返回:7package com.mico.alex;import java.util.Scanner;public c

2016-12-02 11:44:38 1116

原创 面试题:数组中出现次数超过一半的数字

题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。package alex.suda.jzOffer;import java.util.HashMap;import java.util.Iterator;import java.

2016-11-18 13:54:45 858

转载 Python学习:列表,元组,字符串如何互相转换

str转listlist = list(str)list转strstr = ''.join(list)tuple list相互转换tuple = tuple(list)list = list(tuple)

2016-11-01 17:23:38 3803

原创 集合的子集

题目描述请编写一个方法,返回某集合的所有非空子集。 给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保证A的元素个数小于等于20,且元素互异。各子集内部从大到小排序,子集之间字典逆序排序,见样例。测试样例:[123,456,789]返回:{[789,456,123],[789,456],[789,123],[789],[456 123],[456],[123]}import j

2016-10-10 08:46:35 913

原创 [编程题]表达式组成方案

对于一个只由0(假)、1(真)、&(逻辑与)、|(逻辑或)和^(异或)五种字符组成的逻辑表达式,再给定一个结果值。现在可以对这个没有括号的表达式任意加合法的括号,返回得到能有多少种加括号的方式,可以达到这个结果。 给定一个字符串表达式exp及它的长度len,同时给定结果值ret,请返回方案数。保证表达式长度小于等于300。为了防止溢出,请返回答案Mod 10007的值。 测试样例:“1^0|0|

2016-10-08 22:23:50 1180

原创 [编程题]字符串通配

题目描述:对于字符串A,其中绝对不含有字符’.’和’’。再给定字符串B,其中可以含有’.’或’’,’’字符不能是B的首字符,并且任意两个’’字符不相邻。exp中的’.’代表任何一个字符,B中的’’表示’’的前一个字符可以有0个或者多个。请写一个函数,判断A是否能被B匹配。 给定两个字符串A和B,同时给定两个串的长度lena和lenb,请返回一个bool值代表能否匹配。保证两串的长度均小于等于300

2016-10-08 20:05:07 972

原创 [编程题]纸牌博弈

题目描述:有一个整型数组A,代表数值不同的纸牌排成一条线。玩家a和玩家b依次拿走每张纸牌,规定玩家a先拿,玩家B后拿,但是每个玩家每次只能拿走最左或最右的纸牌,玩家a和玩家b都绝顶聪明,他们总会采用最优策略。请返回最后获胜者的分数。 给定纸牌序列A及序列的大小n,请返回最后分数较高者得分数(相同则返回任意一个分数)。保证A中的元素均小于等于1000。且A的大小小于等于300。 测试样例:[1,2

2016-10-08 17:20:24 2343

原创 Spring中RedirectAttributes的用法

用途:带参数跳转的重定向,有两种带参数的方式第一种:attr.addAttribute("param", value); 例如:attr.addFlashAttribute("id", "123"); attr.addFlashAttribute("name", "Jack");return "redirect:/index";这样就相当于:return "redirect:/index?

2016-10-08 13:42:25 1580

原创 [编程题]字符串交错组成

对于三个字符串A,B,C。我们称C由A和B交错组成当且仅当C包含且仅包含A,B中所有字符,且对应的顺序不改变。请编写一个高效算法,判断C串是否由A和B交错组成。 给定三个字符串A,B和C,及他们的长度。请返回一个bool值,代表C是否由A和B交错组成。保证三个串的长度均小于等于100。 测试样例: “ABC”,3,”12C”,3,”A12BCC”,6 返回:truepackage alex.

2016-10-06 22:25:11 1414

原创 [编程题]最长递增子序列

对于一个数字序列,请设计一个复杂度为O(nlogn)的算法,返回该序列的最长上升子序列的长度,这里的子序列定义为这样一个序列U1,U2…,其中Ui < Ui+1,且A[Ui] < A[Ui+1]。 给定一个数字序列A及序列的长度n,请返回最长上升子序列的长度。 测试样例: [2,1,4,3,1,5,6],7 返回:4package alex.suda.dp;import java.util.

2016-10-06 13:37:17 1021

原创 在Ubuntu下安装torch7

第一步: 获取安装LuaJIT(C语言编写的Lua的解释器)和Torch所必需的依赖包。代码如下:git clone https://github.com/torch/distro.git ~/torch --recursive当然 git没有安装,先安装git :sudo apt-get install git 第二步: 由于默认将依赖包下载在当前路径下的torch文件下,进入torch文件

2016-10-05 15:29:53 2283 1

原创 编程之美 3.9 :重建二叉树

问题描述:给定一个前序遍历和一个中序遍历,重建一棵二叉树。如:前序:a b d c e f中序:d b a e c f思路:根据前序,找出根节点a,然后根据中序,可以找出根节点a的左右子树,然后递归求a的左子树前序b d跟中序d b,a的右子树前序c e f跟中序e c fpackage suda.alex.chapter3;import java.util.Scanner;public class

2016-10-01 16:33:23 757

原创 编程之美3.8: 求二叉树中节点的最大距离

问题描述:如果把二叉树看成一个图,父子节点之间的连线看成双向的,定义“距离”为两个节点之间边的个数。求二叉树中相距最远的两个节点的距离。思路:相距最远的两个节点一定是叶子节点,且这两个叶子节点的路径有三种情况:最大距离的两个节点都在左子树中(右图)都在右子树中最大路径经过根节点root(此时是左子树高度 与 右子树高度 之和 + 2)(左边的图)图中红色连接线表示最长路径。package s

2016-10-01 13:35:14 683

原创 [编程题]魔法权值

问题描述: 给出 n 个字符串,对于每个 n 个排列 p,按排列给出的顺序(p[0] , p[1] … p[n-1])依次连接这 n 个字符串都能得到一个长度为这些字符串长度之和的字符串。所以按照这个方法一共可以生成 n! 个字符串。 一个字符串的权值等于把这个字符串循环左移 i 次后得到的字符串仍和原字符串全等的数量,i 的取值为 [1 , 字符串长度]。求这些字符串最后生成的 n! 个字符串

2016-09-30 22:58:17 1878

原创 编程之美3.4及扩展

从无头单链表中删除节点:假设有一个没有头指针的单链表,一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除。扩展问题:编写一个函数,给定一个链表的头指针,要求只遍历一次,将单链表中的元素顺序反转过来。public class BeautyPro34 { /** * @param args */ //狐狸换太子:把要删除的节点

2016-09-29 14:17:42 599

原创 [编程题]树上最长单色路径

题目描述: 对于一棵由黑白点组成的二叉树,我们需要找到其中最长的单色简单路径,其中简单路径的定义是从树上的某点开始沿树边走不重复的点到树上的另一点结束而形成的路径,而路径的长度就是经过的点的数量(包括起点和终点)。而这里我们所说的单色路径自然就是只经过一种颜色的点的路径。你需要找到这棵树上最长的单色路径。 给定一棵二叉树的根节点(树的点数小于等于300,请做到O(n)的复杂度),请返回最长单色路

2016-09-29 11:26:48 980

原创 编程之美2.15子数组之和的最大值(二维)

问题描述:求二维数组(矩阵)的子矩阵之和的最大值。import java.util.Scanner;public class BeautyPro215 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub

2016-09-28 16:01:43 512

原创 编程之美2.18 数组分割

问题描述:有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组之和最接近。import java.util.Scanner;public class BeautyPro218 { /** * @param args */ public static void main(String[] args) {

2016-09-28 11:38:09 1106

原创 网易笔试题:最大的奇约数

小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数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 + 1 +

2016-09-26 22:06:28 2073

原创 网易笔试题:跳石板

小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1

2016-09-26 20:57:23 3248 1

原创 网易笔试题:回文序列

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前

2016-09-26 19:56:28 5542

原创 编程之美3.1:字符串移位包含的问题

问题描述:给定两个字符串s1和s2,要求判定s2能否能被s1做循环移位得到的字符串包含。例如,s1=AABCD,s2=CDAA,返回true,给定s1=ABCD,s2=ACBD,返回false。思路1:找出所有循环移位,逐个进行字符串匹配。n*字符串匹配的复杂度。kmp可以做到线性,因此总的复杂度为n^2.思路2:s1复制一下,变成s1s1,如s1=ABCD,变成ABCDABCD,用它进行匹配。pa

2016-09-23 10:21:41 930

原创 网易编程题:数列还原

牛牛的作业薄上有一个长度为 n 的排列 A,这个排列包含了从1到n的n个数,但是因为一些原因,其中有一些位置(不超过 10 个)看不清了,但是牛牛记得这个数列顺序对的数量是 k,顺序对是指满足 i < j 且 A[i] < A[j] 的对数,请帮助牛牛计算出,符合这个要求的合法排列的数目。 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个整数 n 和 k(1 <= n <= 10

2016-09-18 12:14:25 776

原创 网易笔试题:藏宝图

牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。 输入描述:每个输入包含一个测试用例。每个测试用例包含两行长度不超过 10

2016-09-17 16:33:00 1440

原创 网易笔试题:地牢逃脱

给定一个 n 行 m 列的地牢,其中 ‘.’ 表示可以通行的位置,’X’ 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢,和一般的游戏所不同的是,他每一步只能按照一些指定的步长遍历地牢,要求每一步都不可以超过地牢的边界,也不能到达障碍上。地牢的出口可能在任意某个可以通行的位置上。牛牛想知道最坏情况下,他需要多少步才可以离开这个地牢。 输入描述:每个输入包含 1 个测试用

2016-09-17 14:28:16 1553

原创 网易笔试题:合唱团

有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? 输入描述:每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数,接下来的一行,包含 n 个整数,按顺序表示每个学生的能力值 ai(-50

2016-09-16 19:41:56 978 1

原创 Spring MVC 学习笔记1:Spring 框架

使用Spring,程序几乎可以将所有重要对象的创建工作交给Spring,并配置如何注入不同对象间的依赖。 Spring支持XML或注释两种配置方式。加载一个包含beans信息的XML文件内容的方式一般有两种: 1)从类路径中加载;2)从文件系统中加载从类路径中创建一个bean实例现在假设config1.xml文件中的bean信息如下:<bean name = "product" class =

2016-09-13 14:25:25 922

原创 美团笔试:字符编码

请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。输入描述:每组数据一行,为待编码的字符串。保证字符串长度小于等于1000。输出描述:一行输出最短的编码后长度。输入例子:MT-TECH-TEAM输出例子:33解题思路: 1.将字符串转为字符数组,遍历统计每个字符出现的次数,并放入hashmap表中 2.创建节点HuffmanNode,放入一个优先级队列 3.构建哈夫曼树合

2016-09-09 10:31:26 1184

原创 美团笔试题:股票交易日

在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用实践复杂度低的方法实现。 给定价格序列prices及它的长度n,请返回最大收益。保证长度小于等于500。 测试样例:[10,22,5,75,65,80],6返回:87import java.u

2016-09-08 22:57:30 1086

原创 网易笔试题:二叉树

有一棵二叉树,树上每个点标有权值,权值各不相同,请设计一个算法算出权值最大的叶节点到权值最小的叶节点的距离。二叉树每条边的距离为1,一个节点经过多少条边到达另一个节点为这两个节点之间的距离。 给定二叉树的根节点root,请返回所求距离。思路:分两步 1.找到权值最大的位置和权值最小的位置;2.将它们到最近公共父节点的距离相加就能得到结果。public static int getDis(Tree

2016-09-08 19:44:05 905

原创 网易笔试题:比较重量

题目描述:小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。 给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号。最后给定之前的比较次数n

2016-09-08 15:00:10 1123

原创 美团笔试题:拜访

题目描述:现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。 给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。测试样

2016-09-08 12:18:05 1136 1

原创 百度笔试题:蘑菇阵

现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线,在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B的家的概率是多少?输入描述:第一行N,M,K(1 ≤ N,M ≤ 2

2016-09-07 11:10:22 1365

原创 腾讯编程题:构造回文

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。 输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcda google输出例子:2 2解题思路: 1.把字符串反转形成另外一个字符串 2.求原

2016-09-05 14:23:56 545

原创 华为OJ之: 计算字符串的距离

题目描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。 Ex: 字符串A:abcdefg 字符串B: abcdef 通过增加或是删掉字符”g”的方式

2016-09-03 19:02:55 517

原创 如何用Tensorflow实现增强版本的Mnist手写识别网络模型

上一个阶段构造的简单模型训练后,只有91%正确率。本文章讲解如何用一个稍微复杂的模型:卷积神经网络来提升效果。 下面是效果图: 图1具体的步骤为:首先完成准备工作:import input_dataimport tensorflow as tf#导入数据mnist = input_data.read_data_sets('MNIST_data', one_hot = True)

2016-09-03 14:41:23 1282

java学习开发

java学习

2012-11-22

空空如也

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

TA关注的人

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