Java
文章平均质量分 71
tbssl
这个作者很懒,什么都没留下…
展开
-
java用广度优先的方法来判断有向图是否有环
这里的代码参考了很多别人的代码和文章。。今天师兄做笔试题,我也跟着看,碰到了一个要构建有向图并判断节点是否有环的题。另一位师兄说这个题可以用并查集做,并且做出来了,我用并查集试了试做不出来。。我觉得这题大概是要用有向图做,考察有向图的构建及寻找有向环但是我只会对着书本抄代码构建有向图,不会寻找环,就尝试了一下用前不久做爬虫用到的广度遍历来寻找有向环。。原创 2017-08-16 22:56:08 · 2574 阅读 · 1 评论 -
Leetcode 208. Implement Trie (Prefix Tree)
这题其实就是一个单词查找树,具体什么原理原题的Solution里说的很清楚了。找个答案是参考了《算法第四版》里单词查找树的实现。每个节点下面都有256个节点,在这里用了一个boolean变量判断某节点是否为单词的结尾,以区分search和startWith。 class Trie { private int R = 256; private Node root; ...原创 2018-08-07 22:41:44 · 296 阅读 · 0 评论 -
2019阿里校招题--智能分词--Java解
今天又帮师兄们去做题了!这个题虽然不难但是还是比较费时间的。一共两个题,到截止时间我才做出了第一题的一半,第二题都没看一眼,听其他人说第二题看都看不懂。。把实现的java解和思路贴一下,只实现了功能,性能什么的没测试也没优化,感觉可能会超时。 题目:智能分词分词是指将一个字符串分割成词语序列,其中所有词语都来自事先指定的词汇表。例如:有字符串"github",以及词汇表["...原创 2018-09-07 22:09:57 · 401 阅读 · 0 评论 -
国内某大厂实习生笔试题
这次笔试是我做过的最简单的一次笔试了。。前两题一次AC,最后一题用深搜就搞定了。。第一题:给一串都是数字的字符串,输出子串中小于1000的最大值。例:输入13245678987654321 输出987遍历一下就好了。。 第二题:输入一串以";"分割的字符串,输出第i个子串例:输入abc;ffh;ert;qer 1输出:ffh一行split()...原创 2019-01-05 20:29:33 · 545 阅读 · 0 评论 -
这大概是我做出来的第一个DP题目了。。
假装完全是自己想出来的,嗯。。题目:鹅厂实习生笔试。。虽然我没投。。但还是帮小伙伴做题了。。深搜超时,那就DPimport java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.n...原创 2019-03-10 21:22:24 · 221 阅读 · 0 评论 -
HashMap,HashTable,TreeMap,ConcurrentHashMap源码级总结!
最近面试面了不少了,总是被问到HashMap,有问HashMap和TreeMap区别的,有问HashMap和LinkedList区别的各种,反正就是排列组合。于是就搜集了一下,结合自己的理解,进行一下总结。如有错漏还请在评论区帮忙指出!看总结直接拉到底。还未了解的部分:各集合的迭代器。序列化接口部分。hash值和hashCode:Java令所有数据类型都继承了一个能够返...原创 2019-04-11 18:46:25 · 233 阅读 · 0 评论 -
记一次利用java多线程进行下载时遇到的坑以及学到的东西。
很久之前在做一个爬虫程序的时候,看了看CPU和内存没有被完全利用,就想利用多线程来加快下载速度。但是发现多线程并没有加快整体的速度,当时很疑惑,没有得到答案。昨天无意间在MOOC的操作系统课程上找到了答案,特此记录。先上结论:Java的多线程是ULT,也就是用户级的多线程,不能利用多个CPU核心。只有KLT,核心级多线程,才能利用多个CPU核心。将过程分为A,B,C。A:找...原创 2019-04-21 15:27:07 · 364 阅读 · 0 评论 -
某大厂20届实习笔试题2019414
1+1+1+0.5+0希望能给我个面试机会(offer就不妄想了)第一题:产品经理思路:暴力import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int h...原创 2019-04-14 22:03:34 · 364 阅读 · 0 评论 -
Leetcode 295. Find Median from Data Stream
用了两个优先队列最后结果比 91% java Submission 快。 一开始的思路,如果要求速度尽量快的话,肯定不能插入和查询分开来做 ,要在插入的时候就对这堆东西进行排序,并找出中值,所以一开始想到的是二叉平衡树。但是二叉平衡树只能保证左右子树的高度差距不大于1,并不能保证两边的节点个数相等。并且,在处理总结点个数为偶数的时候有困难。所以不如将左右子树分开来处理,分别记录...原创 2018-08-02 20:31:44 · 288 阅读 · 0 评论 -
Java泛型整理
总结自《java编程思想》简单泛型class TwoTuple<A, B>{ public final A first; public final B second; public TwoTuple(A a, B b) { first = a; second = b; } public String toString() { return "(" + fir...原创 2018-07-04 20:28:37 · 116 阅读 · 0 评论 -
JAVA类对象的数组报错Exception in thread "main" java.lang.NullPointerException
今天学了JAVA对象的数组。数组元素可以是任意类型的数据,因此尝试使用自己构建的数据类型的数组。一开始对这个概念不怎么理解,代码是这样的public class HelloWorl{ public static void main(String[] args) { Test[] c = new Test[2]; for(int k = 0;k < c.length ;k原创 2017-07-27 13:33:43 · 39613 阅读 · 0 评论 -
几种排序算法的Java实现
最近自己学习了一下排序算法,把代码贴在这里留个纪念!代码大部分抄/改自---《Algorithms第四版》import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.LinkedList;import java.util.List;impo原创 2017-09-04 21:06:21 · 199 阅读 · 0 评论 -
java的String字符串拼接和StringBuffer的append的速度差异
今天在leetcode上做题的时候发现,实现字符串拼接的时候,用StringBuffer的append比String的+快很多。思考了一下这两者的差别。我是初学者,有说错的还请大家指正!首先得出String的+拼接的时间 public static void main(String[] args) { String str = ""; String s = "abcd原创 2017-09-12 15:05:27 · 1186 阅读 · 0 评论 -
Java三柱汉诺塔(梵塔)问题解决
import java.util.*;public class test{ public static void main(String[] args) { int height = 3; //表示塔高 LinkedList from = new LinkedList(); LinkedList to = new LinkedList(); LinkedList原创 2017-10-12 21:31:12 · 2707 阅读 · 0 评论 -
Java实现微信跳一跳脚本
思路:1.截取安卓模拟器对应窗口的图像内容2.处理图像找出起点和终点3.计算距离4.鼠标事件经过:1.一开始想先将截图储存在某个路径,在用文件流读取那个图片,对图片进行处理。之后发现直接对BufferedImage里的内容进行处理更方便。2.在计算距离的时候遇到了一点困难,用了取巧的办法。即找到新台阶中心点的横坐标,找到小人起跳点的横坐标,相减求得横向距离。手测三角形的原创 2018-01-11 18:45:39 · 2026 阅读 · 0 评论 -
形式化算式,头条笔试题,我的解法(JAVA)。
前几天看到小伙伴发了一个头条的笔试题,据说是python可以用自带的方法直接一行出结果。。今天没事干突然想起了这个题,就试着来解一下,用的最笨的方法,写的代码也是又臭又长,看了看好像也没啥高级很多的解法。如果有高级很多的解法还请大家告诉我一下。。找不到地方来测试是否可以达到题目的时间要求和空间要求。。有些地方还可以改善一下。。希望我的解法能有参考价值吧。。感觉:这个题,比较简单但比较烦。。笔试考这...原创 2018-03-26 11:50:30 · 210 阅读 · 0 评论 -
Java实现KNN(K-nearest neighborhood)
课程作业。如果我没理解错的话,KNN就是1. 计算待分类点与已知点的欧式距离2. 根据距离排序3. 在范围内计算每个类的已知点的个数4. 出现已知点最多的那个类就视为待分类点的类代码里用的已知点是用excel随机生成的,分为了三个类,每个类三十个点只实现了功能,没有优化代码,不过如果考虑性能的话也没必要用Java来写了。。import java.util.*;import java.io.*;...原创 2018-07-03 23:16:25 · 1388 阅读 · 0 评论 -
我在学Spring的时候遇到了什么???
Bean,里面两个东西,message1和message2<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2018-07-17 16:17:51 · 116 阅读 · 0 评论 -
在用map reduce时候遇到的问题
1.DistributedCacha不能用了:一开始以为是mapreduce的版本不对或者hadoop的版本跟公司的平台不兼容,后来发现是公司给禁了。。解决办法:每个mapper/reducer都读从hdfs上面读一遍文件,缺点显而易见;将文件读好,然后用conf.set() 放在configuration中,缺点:数据量大的话肯定会出问题。2.排序慢。需求:需求中的一部...原创 2019-08-01 22:26:21 · 1004 阅读 · 0 评论