- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 笔试系列--美图秀秀(2017年秋招) 整数二进制数的不同位数
有两个int型(32位)的正整数,返回这两个数对应的二进制的数的位数不同的个数,即15 1111 8 1000 返回 3。 思路:每次比最后一位,然后向右移位即可,其中比最后一位有一个小技巧,就是数字和1做&运算,即得到最后一位。 代码:public class Diff{ public static void main(String[] arg
2017-09-05 10:26:08 338 1
原创 笔试系列--美图秀秀(2017年秋招) 动态规划--最大公共子串的长度
这个题类似的衍生的有很多,比如连续子串的最大和等,这样的题属于动态规划,属于常见的题型,变形很多。大家注意,话不多说了,代码如下:public class MaxComSubLen{ public static void main(String[] args){ String a = "ad cd"; String b = "abcd"; System.out.print
2017-09-05 10:17:35 436
原创 由~0=-1引出的
白痴了一波,基础很重要,今天我遇到了一个布尔运算就是~0=?,我下意识的人为~0=255。但是大错特错了,下面就说一说先来说几个概念:用例子说一下原码、反码、补码。 二进制原码反码补码4+100000001000000010000000100-4-10010000100111110100111
2017-09-04 22:00:09 1315 1
原创 手撕代码(四):堆排序
堆排序是不稳定排序,其平均时间复杂度O(nlogn),其效率子排在快速排序和归并排序的后面。通晓原理,编程才能So Easy,原理:点这里;思路: 从第一个非叶子节点开始调整,初始化为大(小)顶堆 将堆顶元素与末尾元素交换,再初始化为大(小)顶堆, 再交换。。。。。。就是这样import java.util.Arrays;p
2017-09-04 21:14:30 704
原创 手撕代码(三)Java多线程模拟生产者消费者方法
一时兴起,写个多线程模拟生产者消费者的例子,本来应该更新堆排序的,那就晚上再更吧,最近有点忙呀。下面是我提供的代码,都是手敲的呀,不过没给大家提供导入的包文件,喜欢的朋友,复制黏贴过去然后编译器自然会导入的。最近好忙,看不到目标,继续往前好了public class SXThread{ public static void main(String[] args){ SXThread
2017-09-04 15:18:15 2435 1
原创 有喜欢的倪妮的吗,女神 大小写的转换数字不处理
这是一个很简单的算法,不能叫做算法么就是一个交换,很简单,小写字母的ASCII码的值大于对应大写字母的值大32。接下来写一个大写交换的代码,致敬倪妮哈哈哈public class sToS{ //大小写之间的转化数字不处理 public static void main(String[] agrs){ String Line = "ilOVEyOU13
2017-09-03 15:37:32 441 1
原创 手撕代码(二):归并排序
刚吃完饭,不想休息,接着昨天的来,昨天刚写了一个快速排序,现在想写一个归并排序,可能晚上还会写一个堆排序,哈哈 ,归并排序效率不错,分治法的思想,平均时间复杂度为O(nlogn),稳定排序,效率略低于快速排序,还是那句话通晓原理,编码才能So Easy,原理 点这里 代码看下面:import java.util.Arrayspublic class GBSort{ public
2017-09-03 12:45:47 438
原创 手撕代码(一)快速排序
去美团面试,面试我的汪哥,感觉很有眼缘,人不错,只是自己功力不到,问了我在一般情况下的排序算法的效率问题,一般情况下排序算法的效率从高到低是这样的:快速排序>归并排序>堆排序>插入排序>冒泡排序,我在接下来的几天会把几种算法实现一下。实现我们来看快速排序算法。快排在待排序数组基本有序的情况下是最糟的时间复杂度为O(n^2),一般情况下的平均复杂度为O(logn),快速排序算法的原理我就不介绍了
2017-09-02 22:51:43 3304 2
原创 滴滴笔试:最大连续子数组
题目:数组如下{-23 17 -7 11 -2 1 -34},其和最大的连续子数组为{17 -7 11},和为21.现要求输入一列数,求这一列数的最的子数组的和要求输入:一列数用空格间隔输出:最大连续字数组的和例如:输入:-23 17 -7 11 -2 1 -34输出:21package com.didi;import java.util.Scanner
2017-08-26 17:05:20 209
原创 2017秋招阿里笔试题--组队
题目描述:比如有N个人,M种关系,有关系的人可以组队,关系具有传递性,如person A和person B有关系,person B和personC有关系,那么personA B C 就有关系,可以组一队。输入:第一行:人数N第二行:关系M第三行:第一个人和其他人的关系第三行:第二个人和其他人的关系依次类推输出:可以组的队数例:输入:331,1,0
2017-08-26 11:34:28 1181
原创 巧秒的杨辉三角
今天心情不好,所以做个题,杨辉三角大家应该都知道吧,这个题不难,不适合笔试出题,但是面试是可以的,因为如果没做过的话是需要想一想的而且代码量少,比较合适。下面直接上代码了import java.util.Scanner;public class YHTriangle { public static void main(String[] args) { Scanner input
2017-08-24 21:42:44 253
原创 由面试我想到的三次握手和四次挥手的问题
三次握手: 客户端发起: 1、向服务器端发送报文SYN=1,ACK=0;客户端进入SYN-SEND状态。 2、服务端收到SYN=1,ACK=0的请求报文,向客户端返回确认报文SYN=1,ACK=1,服务端进入SYN-REVD状态。 3、客户端接收确认报文,需再向服务端发送一个确认收到的报文ACK=1;客户端进入EST
2017-08-15 22:00:47 1299
原创 由面试引出我对HashMap的理解
1、首先看HashMap的存储结构:可以看出的是他是数组和链表的集合体,但是他的底层实现是数组,只是数组的每一项是一个链表。因为数组定位快,链表插入删除快,所以HashMap兼具两者的优点。2、HashMap的存put(K,V)、取get(K)操作 这是HashMap实现的一个重要的点,首先我们知道java的Object方法有:notify、wait、toStrin
2017-08-15 20:27:39 207
原创 在服务器搭建WEB应用的方法(包括免输入工程名直接访问的设置)
要想在服务器搭建WEB应用首先服务器要有Java环境,tomcat,数据库。具体步骤如下:1、安装JDK 傻瓜式安装,JDK集成了Jre所以不用安装jre,安装成功后配置环境变量(这个大家应该都会,不细说)2、安装Tomcat 傻瓜式安装3、安装数据库 MySQL SQLServer Oracle均可4、将项目导出为XXX.war文件5、将XXX.war文件Copy到to
2017-03-02 17:52:56 558
原创 MySQL 1067 错误和1045错误的完美解决
昨天一个同学遇到了一个MySQl的错误,就是MySQL服务启动不起来,报1067异常终止的错误,解决办法是查看自己的my.ini文件,查找自己的datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/",在该路径下里面有mysql和performance_schema两个文件夹,这两个文件是安装时MySQL自己装的,一般报错1067是因为这个文件删除
2017-03-02 17:32:16 280
原创 正则表达式攻略
正则表达的式对于一个项目可以说是一个很少的部分,但是他的作用确实开发过程中很必须的,我理解的正则表达式就是一个规则的表达式,是把字符串方法进行了封装,封装成一系列的符号,优点是使用方便,缺点是可读性差。下面我将通过四个方法对正则表达式的使用做一个介绍。 1、匹配:匹配对应的字符串,完成对手机号、QQ号、传真等字符串的校验 使
2017-02-28 13:53:04 194
Hibernate开发
2017-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人