- 博客(15)
- 收藏
- 关注
原创 2017美团秋招面试
美团是我参加的第一家大型互联网公司。没想到居然中了,很开心。 美团一面: 第一眼看到面试官感觉很帅,人很温和,特别nice。开场做了简单的自我介绍后,就开始手写代码环节,共写了3个小程序,分别为: (1)在不破坏单链表的情况下,交换其中的两个数 (2)求二叉树的高度 (3)单链表的去重 之后面试官问到了MapReduce的执行过程,NIO,IO多路复用,TCP UDP的不同之处,还问了一
2017-10-14 20:59:47
582
原创 文章标题
题目:羽毛球馆 开发工具:IntelliJIDEA 15.0.1 开发语言:Java 测试方法:打开ThoughtWorks/src/com/company/Main.java,右键点击运行即可。测试时,在命令行窗口输入字符串,即可得到相应的输出提示字符串,并且把场馆收入汇总进行输出。 测试情况(详情见下图1和图2):预定 针对用户的输入字符串进行合法性检测。用户输入的时间段起始时间必须
2017-09-11 15:57:46
269
原创 Linux 下编译运行C程序
Gcc是Linux系统下一个非常重要的源代码编译工具,支持很多种不同语言的编译。例如:C C++ Ada Python Java 等。 编译运行单个源文件 1.编辑代码 vim main.cpp int main(){ pid_t pid; if((pid=fork())<0){ printf(“fork error!”); } el
2017-04-06 20:31:11
322
原创 最短路径SPFA算法
SPFA(Shortest Path Faster Algorithm)算法,计算某个源点到其余各顶点的最短路径,SPFA算法采用动态逼近的方法,用邻接表作为有向图的存储结构,用一个先进先出的队列Queue来作为待优化点的存储池。这里通过一个例子说明SPFA算法。
2017-04-03 18:06:35
456
原创 机器学习 ---感知机
感知机是二类分类的线性模型,其输入为实例的特征向量,输出为实例的类别,取+1、-1二值。感知机的学习旨在求出将训练数据进行线性划分的分离超平面,为此导入了基于误分类的损失函数,利用梯度下降法对尊师函数进行极小化,求得感知模型。 1.感知学习的函数 f(x) = sign(w * x + b) 想要求得感知学习模型,即求参数w,b。 选取损失函数为:误分类点到超平面的总距离。因此,在输入
2017-04-03 12:48:22
279
原创 操作系统之进程
1.进程的定义: (1)进程是程序的一次执行; (2)进程是一个程序及其数据在处理机上顺序执行所发生的活动; (3)进程是程序在一个数据集合上运行的过程,他是系统进行资源调度和分配的一个基本单位。 2.进程的特征 (1)结构特性 进程是由程序段、数据段、以及进程控制块 PCB(process control block)组成。所谓创建进程就是指创建进程实体的PCB,而撤销进程是指撤销进
2017-04-01 21:15:33
297
原创 Java多线程机制
Java中的线程1.主线程(Main线程) Java语言的一大特性是内置了对多线程的支持。多线程是指一个应用程序中同时存在几个执行。 每个Java程序都有一个缺省的主线程。我们都知道,Java程序的执行总是从main函数开始执行的。当JVM加载代码,发现main之后,就会启动一个线程,这个线程称为“主线程”。那么在main方法执行中再创建线程,就称为程序中的其他线程。如果main方法中没有创建其
2017-03-12 17:45:44
310
翻译 Matlab求点到你直线的垂直距离
问题描述:求点到直线的垂直距离% 求点d1到直线d2-d3的距离。 function [d,dl] = VerticalDis(d1,d2,d3)x1 = d1(1,1); y1 = d1(1,2); x2 = d2(1,1); y2 = d2(1,2); x3 = d3(1,1); y3 = d3(1,2);if x2 == x3 x4 = x1 - 1; y
2017-03-07 09:34:17
4311
原创 斐波那契数列的优化问题 青蛙跳台阶问题
题目描述:写出一个函数,输入n,求解菲波那切数列的第n项。很多教材在讲述递归函数(在一个函数内部调用这个函数自身)时会使用Fibonacci例子。方法1: 代码如下: public static long Fib(int n){ if(n<=0){ return 0; } if(n==1){
2017-02-25 19:49:21
341
原创 旋转数组中的最小数字
旋转数组中的最小数字问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。方法1: 从头到尾遍历一遍数组,就可以找出最小的数据元素。这种思路的时间复杂度显然是O
2017-02-25 16:53:10
238
原创 华为OJ ---计算日期到天数的转换(给定一个日期,输出为这一年的第几天)
问题描述:根据输入的日期,计算是这一年的第几天。。详细描述:输入某年某月某日,判断这一天是这一年的第几天?。思路分析:1.判断年分是平年还是闰年((year%4==0&&year%100!=0) || year%400==0) 2.闰年二月有29天,平年有28天。 3.巧用switch语句。求出日期(1-month)的天数+本月的Day 即为所求得值
2016-11-25 20:34:06
1268
原创 最大奇约数
小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数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-10-10 09:57:45
433
原创 数字翻转
题目描述:对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:如果 X = 123,则rev(X) = 321;如果 X = 100,则rev(X) = 1.现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? 输入描述 : 输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。输出描述 : 输出rev(r
2016-10-10 09:23:32
821
1
原创 java 十进制整数转换为二进制!
十进制整数转换为二进制的规则:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。1.具体做法:方法一:使用java封装好的方法:Integer.toBinaryString(int);2)使用辗转相除法,直到商为0为止。因为需要逆序排列,座椅使用栈这种数据结构。public class Bit { public static void main(Stri
2016-06-21 08:50:46
2108
原创 求取一个字符串的最大回文子串
什么是回文字符串?即为一个字符串从左往右读和从右往左读,结果一样。例如字符串“aba”就是一个回文字符串。1.问题描述(在牛客网刷题遇到的一个问题):在一个字符串的开始或者结尾加入无关字符。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214。求字符串的最大回文子串中字符的个数!2.思路分析:本 题实际在求字符串的最大回文子串。可利用动
2016-06-20 20:59:38
795
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人