机器学习面试
xiaopihaierletian
这个作者很懒,什么都没留下…
展开
-
华为面试自我介绍 --可修改版本自用
面试官您好,我叫##,来自##大学,是即将17年毕业的硕士研究生,研究生期间主要做图像处理、机器视觉方面的工作,所以我的求职意向是媒体算法。我的本科也是在##大学理学院读的,专业是信息与计算科学,主要学一些数学和计算机方面的课程,所以我相信自己有比较不错的编程基础。自己比较喜欢编程,对机器视觉和大数据开发这些这些人工只能领域很感兴趣,所以自己业余时间自学了Linux、shell脚本、Python语转载 2017-07-19 10:40:55 · 3371 阅读 · 0 评论 -
算法研究、编程艺术、红黑树、数据挖掘、程序员面试5大系列集锦
前言 开博已过20个月,回首这20个月,发现自己在本blog上着实花费了巨大的时间与精力,写的东西可能也够几本书的内容了。希望我真真正正的为读者提供了实实在在的价值与帮助。 下面,敬请观赏。有任何问题,欢迎随时不吝指正(同时,若你也能帮助blog内留言的任何朋友的问题,欢迎你随时不吝分享&回复,我们一起讨论,互帮互助,谢谢)。 无私分享,造福天下转载 2017-07-29 18:31:11 · 385 阅读 · 0 评论 -
完美世界hr给大家的简历修改和面试的建议
转自牛客网 http://www.nowcoder.com/discuss/4006?from=wb很多人发了简历,然后就没有音讯了,根本不知道是什么原因。投简历的时候,尤其是技术的简历,第一个看你简历的应该是hr,并不是技术经理。这就存在一个问题,那就是我们的简历一定要把握hr的命脉。hr在看简历的时候一般都是看一些关键点。hr在看大家的简历的时候转载 2017-08-06 20:59:40 · 1204 阅读 · 0 评论 -
JAVA实现变态跳台阶问题(《剑指offer》)
最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。上一篇文章讲了跳台阶问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共原创 2017-04-25 15:47:24 · 496 阅读 · 0 评论 -
《剑指offer》002-实现Singleton模式(java实现)
题目:设计一个类,只能生成该类的一个实例 《剑指offer》上为C#版本,并查阅网上大神的答案,稍作整理,有些不懂的地方供以后慢慢学习。 先贴出面试时代码,原理及思路在四:public class Singleton{ private static volatile Singleton instance = null; private Singleton(){}转载 2017-04-24 19:37:18 · 254 阅读 · 0 评论 -
JAVA实现数值的整数次方(《剑指offer》)
题目:给定一浮点数base和int类型的整数exponent。求base的exponent次方牛客网题目截图:解答:[java] view plain copypublic class Solution { public double Power(double原创 2017-04-25 20:53:48 · 1089 阅读 · 0 评论 -
剑指offer - 实现Singleton模式
题目:设计一个类,只能生成该类的一个实例 《剑指offer》上为C#版本,并查阅网上大神的答案,稍作整理,有些不懂的地方供以后慢慢学习。 先贴出面试时代码,原理及思路在四:public class Singleton{ private static volatile Singleton instance = null; private Singleton(){}转载 2017-04-24 15:59:40 · 244 阅读 · 0 评论 -
C++剑指offer_面试题11_数值的整数次方(*)
题目:实现函数 double Power(double base, int exponent),求 base 的 exponent 次方。不得使用库函数,同时不需要考虑大数问题。 通过这道题,了解一些不曾注意的知识点:1、变量命名要合理且明了2、需确保代码的完整性,从三个角度下手: 1)功能测试:确保主体功能 2)边界测试:考虑各种边原创 2017-04-25 20:57:54 · 685 阅读 · 0 评论 -
剑指offer编程题Java实现——面试题10二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该整数二进制表示中1的个数。例如,把9表示成二进制是1001,有2位是1,该函数输出2解法:把整数减一和原来的数做与运算,会把该整数二进制表示中的最低位的1变成0,与运算进行多少次就有多少个1。 1 package Solution; 2 /** 3 * 剑指offer面试题10:二进制中1的个数 4 * 题目:请原创 2017-04-25 19:52:14 · 427 阅读 · 0 评论 -
Iava 剑指offer_面试题18_树的子结构
题目:输入两棵二叉树 A 和 B,判断 B 是不是 A 的子结构。两个步骤:1、第一步在树 A 中找到和树 B 的根结点的值一样的结点 R2、第二步再判断树 A 中以 R 为根结点的子树是不是包含和树 B 一样的结构。对于递归:想好判断条件,以及 什么条件下该去递归。[java] view plain copy原创 2017-05-04 08:36:55 · 299 阅读 · 0 评论 -
JAVA实现矩形覆盖问题(《剑指offer》)
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指原创 2017-04-25 15:57:08 · 533 阅读 · 0 评论 -
JAV实现跳台阶问题(《剑指offer》)
最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法原创 2017-04-25 15:37:04 · 914 阅读 · 0 评论 -
剑指offer编程题Java实现——面试题12打印1到最大的n位数
题目:打印1到最大的n位数输入数字n,按顺序打印输出从1到最大的n位十进制数,比如输入3,打印从1到999.这道题考察的地方是如何表示大数问题。由于n是任意大的数组,如果n太大的话n位数就超过了long型能够表示的范围,在面试题11求数值的整数次方的时候题目中已经明确的提示了不考虑大数问题,在这道题中,用字符串或者数组表示大数是一种很简单有效的方法。用字符串表示大数也适用于大数加法原创 2017-04-26 19:24:40 · 468 阅读 · 0 评论 -
剑指offer_面试题10_二进制中1的个数(位运算)
题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如把 9 表示成二进制 1001,有 2 个 1。因此如果输入9,该函数输出2。 位运算基本概念:五种位运算:与(&)、或(|)、异或、左移 和 右移。ps:其中 异或(运算符 ^),1 ^ 0 = 1; 1 ^ 1 = 0; 0 ^ 0 = 0; 0 ^ 1 = 1; 即 相同为假,不同为真。原创 2017-04-25 19:50:40 · 386 阅读 · 0 评论 -
JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)
在纸质书中的题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。并没有要求相对位置不变,这里添加了这个条件,使得其更像是冒泡排序的思路。1、一般想法,不考虑时间复杂度:每次遍历数组,碰到一个偶数就拿出来,将后面所有数字向前挪动一位,在将该偶数放到最后。2、利用冒泡排序的思想,两个指针,一前以后,如果前原创 2017-05-03 15:21:33 · 555 阅读 · 0 评论 -
Java 剑指offer_面试题19_二叉树的镜像
题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。解题方法:遇到复杂问题,可以通过画图、举例等方法,来让自己加深理解。思路往往就在你一步步的分析之中。思路:遍历这颗树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。交换完所有非叶子结点的左右孩子结点后,就得到了树的镜像。写递归时的想法;该设置的退出条件设置好,该进行的交换操作写好,当孩子结点不为空的时候,原创 2017-05-04 08:38:01 · 404 阅读 · 0 评论 -
JAVA实现合并两个排序的链表(《剑指offer》)
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解答:[java] view plain copy/* public class ListNode { int val; ListNode next = null; Li原创 2017-05-03 16:31:56 · 346 阅读 · 0 评论 -
《剑指offer》004-替换空格(java实现)
题目:请实现一个函数,把字符串中的每个空格替换成“%20”例如输入“We are happy.”,则输出“We%20are%happy.”。在网络编程中,如果URL参数中含有特殊字符,一般将特殊字符转换成’%’后面跟上ASCII码的两位十六进制的表示。空格的ASCII码是32,十六进制是ox20,’#’的ASCII码是35,十六进制是ox23。思路:遍历一次字符串,原创 2017-04-24 20:27:59 · 651 阅读 · 0 评论 -
剑指offer--面试题13:在O(1)时间删除链表结点--Java实现
题目描述: 在给定的单向列表的头指针和一个结点指针,定义在一个函数在O(1)时间删除该结点。解题思路: 一般单向列表删除结点,就是从头遍历,找到这个结点之前的结点,指向这个结点之后的结点,就算是删除了这个结点。 这种方法的时间复杂度为O(n) 题目要求在O(1)时间内完成,所以应该避免遍历。 我们遍历的目的是为了找到这个结点前面的那个结点,所以我们可以采用下面的原创 2017-04-26 20:16:17 · 370 阅读 · 0 评论 -
JAVA实现斐波那契数列问题(《剑指offer》)
题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。题目一:写出一个函数,输入n,求斐波那契数列的第n项。题目二:一只青蛙一次可以跳上1级台阶,也可以跳上2级。请求青蛙上一个 n 级的台阶总共有多少种跳法。第二个题目,其实就是第一个题目的意思。若将 n 级台阶时的跳法看成是 n 的函数,记为 f(n)。青蛙在第一级台阶原创 2017-04-25 15:21:58 · 379 阅读 · 1 评论 -
JAVA实现链表中倒数第K个节点问题(《剑指offer》)(考虑问题要全面)
题目描述输入一个链表,输出该链表中倒数第k个结点。解题思路:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点。解答:[java] view plain copy/*原创 2017-05-03 15:40:58 · 385 阅读 · 0 评论 -
JAVA实现从尾到头打印链表(《剑指offer》)
最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。题目描述:输入一个链表,从尾到头打印链表每个节点的值。牛客网题目截图:原创 2017-04-24 21:18:24 · 299 阅读 · 0 评论 -
剑指offer_面试题12_打印1到最大的n位数(大数问题)
题目:输入数字n,按顺序打印出从 1 最大的 n 位十进制数。比如输入3,则打印出 1、2、3 一直到最大的三位数即 999。 由于题目中,没有说明n的大小,因此这是一个大数问题。代码如下:[cpp] view plain copy/*数值每次增 1,用一个量来保存,每次增 1,就返回打印*/ /*算法主要分两块:数原创 2017-04-26 19:26:40 · 935 阅读 · 0 评论 -
String和StringBuffer的主要区别
首先,String和StringBuffer主要有2个区别:(1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,可以通过append()方法来修改值(2)String类对象的性能远不如StringBuffer类。关于以上具体解释如下:在java中有3个原创 2017-04-24 16:34:35 · 2301 阅读 · 0 评论 -
JAVA实现重建二叉树(《剑指offer》)
最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历原创 2017-04-24 22:36:12 · 435 阅读 · 0 评论 -
JAVA实现替换空格(《剑指offer》牛客网StringBuffer)
最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We A原创 2017-04-24 16:33:29 · 821 阅读 · 0 评论 -
JAVA实现链表的反转(《剑指offer》)
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。在解决问题前,先想好测试用例:1、功能测试:输入的链表含有多个结点,链表中只有一个结点2、特殊输入测试:头结点为 NULL指针解决这个问题有两种方式:前提:这两种方式 是以 头结点并不是第一个数据节点 为基准 表示的。这种方式,头结点并不保存链表的结点数据,其数原创 2017-05-03 16:08:42 · 467 阅读 · 0 评论 -
Java 剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16则依次打印出数字:1、2、3、4、8、12、16、15、14、13、9、5、6、7、11、10。思路如下原创 2017-05-04 09:29:56 · 409 阅读 · 0 评论 -
Java - 剑指offer_面试题21_包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小最小元素的min函数。在该栈中,调用min、push 及 pop的时间复杂度都是O(1)。本题关键问题在于:O(1)时间复杂度的 min 函数。即无论占中元素如何变化。都要在 O(1)内知道最小值。因此,需要设置两个栈:1、数据栈,用于数据的压入和弹出2、辅助栈,存入与数据栈中相对应的最小元素原创 2017-05-04 09:46:58 · 298 阅读 · 0 评论 -
String类和StringBuffer类常用操作
String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 String类主要方法的使用一、创建并初始化字符串:转载 2017-04-24 16:47:06 · 758 阅读 · 0 评论 -
[剑指Offer]二维数组中的查找[java]
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入描述array: 待查找的二维数组 target:查找的数字输出描述查找到返回true,查找不到返回false思路一查找的方法一般就是顺序原创 2017-04-24 15:28:13 · 431 阅读 · 0 评论 -
System.in与System.out(标准输入与输出)详解
1.标准输入System.in作为InputStream类的对象实现标准输入,可以调用它的read方法来读取键盘数据。read方法见如下表格: abstract intread() 从输入流中读取数据的下一个字节。 intread(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数原创 2017-04-24 20:52:05 · 3138 阅读 · 0 评论 -
剑指Offer——编程题的Java实现
声明:我写这个的意图是我在看书的过程中,就我掌握的内容做一个笔记,没有抄袭的意图。再次说明一下,我找工作的过程中并不顺利,没有像那些牛人们拿到一大把的Offer,我只是希望通过我自己的努力,不断提高自己。想要真正掌握这些还是得买本书好好读一下。注:还没有完结,先放出来,不断更新1、面试题3:二维数组中的查找题目大致为: 一个二维数组,每一行按照从左到右递增,每一列转载 2017-06-28 14:32:08 · 383 阅读 · 0 评论 -
《剑指offer》003-二维数组中的查找(更接近笔试--涉及到输入函数)
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该函数。输入: 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行为两个整数m和n(1 输入的第二行包括一个整数t(1 接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目原创 2017-04-24 19:59:26 · 322 阅读 · 0 评论 -
剑指offer算法 java实现 替换字符串空格
剑指offer算法 java实现面试题:替换空格(假设在原来的字符串上替换,并且保证输入的字符串后面有足够多的内存空间)题目:请实现一个函数,把字符串中的每个空格替换成“20%”。例如输入“hellow new world!”,则输出“hellow02%new02%world!”。原因:在网络编程中,如果URL参数中含有特殊字符,如:空格、“#”等,转载 2017-04-24 19:57:35 · 468 阅读 · 0 评论 -
JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。原创 2017-04-24 22:46:47 · 641 阅读 · 0 评论 -
JAVA实现旋转数组的最小数字问题(《剑指offer》)
题目:旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。牛客网问题截图:这个题目本身的考点是很好的,就是一个非递减数组(姑且就把它当做递增数组好了)前面截一段放到原创 2017-04-25 15:08:50 · 394 阅读 · 0 评论 -
Leetcode 477. Total Hamming Distance-java
1 解题思想题目的意思就是给了一个数组,现在求总的海明距离,其中: 1、海明距离:任意两个数在二级制的表示下(int = 32bit),每个bit对应的值是1或0,那么这两个数在这32个位置下,取值不一样的地方的总和就是海明距离 2、总的距离:该数组中,所有两两组合得到的元素的海明距离的和看到这里,其实就可以猜到,应该不能暴力解决了而方法也找到了一个很简单的:原创 2016-12-27 21:07:29 · 1063 阅读 · 0 评论 -
leetcode 1. Two Sum -----java
题目链接:https://leetcode.com/problems/two-sum/题目:Given an array of integers, returnindicesof the two numbers such that they add up to a specific target.You may assume that each input would havee...原创 2017-10-07 15:09:52 · 352 阅读 · 0 评论 -
LeetCode 476. Number Complement-Java
原题: Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.Note: The given integer is guaranteed to fit within the ran原创 2017-03-14 22:48:02 · 412 阅读 · 0 评论