6 CLthinking

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 8w+

LeetCode15--三数之和,进来学细节

题目表述:给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]AC...

2019-09-22 21:53:00

一道好玩的多线程面试题

请问下面的代码输出什么:public class TestThread { static class A extends Thread { A (Runnable r) { super(r); } @Override public void run() { super.ru...

2019-09-15 10:46:26

华为面试题,多线程打印121121121.....

题目要求:有一个函数print(int i)被两个线程调用,一个线程调用它打印1,另外一个线程调用它打印2,要求最终打印出121121121.....的效果:参考代码: /** * print(i)被两个线程调用,一个打印1,一个打印2,要求最终打印出121121121....的效果 */ private static void print(int i)...

2019-08-30 17:01:36

请不要再说链表的插入删除的速度比数组快了

在上数据结构的课程时,相信老师在课堂上都是说链表的增加删除操作是O(1)的,这句话对也不对。这句话对的前提是我需要知道我们插入或者删除的前驱或者后继结点才行,不然这句话是不成立。相反我们还需要去遍历删除元素的前驱或者后继结点,这个过程是O(n)的,并其链表的遍历比数组慢!!!下面看我们的测试代码: public static void main(String[] args) { ...

2019-08-26 20:09:52

从一次爬虫案例谈谈异常处理与多线程的重要性

最近因为项目需要,需要爬取一些头像图片,爬取的网址是https://www.woyaogexing.com/touxiang/,这次爬虫没有使用任何框架,使用Python的requests库请求网址,使用pyquery解析网页。网页的结构比较简单,这里就不详细说了,刚开始时,由于下载速度过快,下载一会就出现异常而中断了,后来我就每下载一张后就暂停几秒。晚上回去前,把爬虫脚本一直运行着,以为第二天早...

2019-08-18 16:14:02

华为笔试题---仿LISP算法

/** * 仿LISP字符串运算 * LISP语言唯一的语法就是括号要配对。 * 形如 (OP P1 P2 …),括号内元素由单个空格分割。 * 其中第一个元素OP为操作符,后续元素均为其参数,参数个数取决于操作符类型 * 注意:参数 P1, P2 也有可能是另外一个嵌套的 (OP P1 P2 …) * 当前OP类型为add/sub/mul/div(全小写),分别代表整数的加...

2019-08-12 09:46:02

我通过刷LeetCode给Apache/Dubbo提了一个优化措施

LeetCode题目连接:LeetCode--528. Random Pick with Weight原题目如下:Given an arraywof positive integers, wherew[i]describes the weight of indexi,write a functionpickIndexwhich randomlypicks an index...

2019-08-06 12:10:44

几道关于随机数的问题

1、给定一个等概率产生1-5的随机数rand1To5,要求不使用额外的随机函数实现等概率的产生1-7的随机函数rand1To7。实现过程如下:rand1To5()等概率产生1,2,3,4,5 rand1To5()-1 等概率产生 0,1,2,3,4 (rand1To5()-1) * 5 等概率产生 0,5,10,15,20 (rand1To5()-1) * 5 +rand1To5...

2019-08-05 20:06:58

记一次动态规划优化的过程

优化题目:LeetCode--53. Maximum Subarray本题也是我们熟知的最大子序列和,题目如下:Given an integer arraynums, find the contiguous subarray(containing at least one number) which has the largest sum and return its sum.Ex...

2019-08-04 18:43:59

ThreadLocal 源码深入分析

ThreadLocal--见名知意,线程本地变量,每个线程都有一个独立的副本,我们来看看JDK文档里面是怎么描述这个类的:This class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one ...

2019-08-03 23:28:46

64位整数乘法

求a乘b对p取模的值。输入格式第一行输入整数a,第二行输入整数b,第三行输入整数p。输出格式输出一个整数,表示a*b mod p的值。数据范围1≤a,b,p≤10^18输入样例:345输出样例:2分析:我们知道两个long相乘的话,可能会越界,所以这里显然是不能直接的相乘的。由于任意一个整数都可以表示成2机制,那么我们按照二进制将...

2019-08-03 19:22:42

a^b

求a的b次方对p取模的值。输入格式三个整数a,b,p,在同一行用空格隔开。输出格式输出一个整数,表示a^b mod p的值。数据范围0≤a,b,p≤109输入样例:3 2 7输出样例:2使用循环对a乘以b次当然是可以的,但是还存在着更优的解法,比如 a ^ 8 = a ^ 4 * a ^ 4,而不用这样计算 a ^ 8 = a ^ ...

2019-08-03 19:16:06

算法--从记录中统计在线人数

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。一天总共有 3600*24 = 86400秒。定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。然后依次读入...

2019-08-02 20:33:17

单向链表的三种排序算法---快速排序,归并排序,插入排序

给链表排序是面试中常考的一道题,今天总结一些经常链表排序的三种常用算法。分别是:快速排序、归并排序和插入排序。快速排序 数组的快速排序相必大家都烂熟于心了,很简单,就是选定一个pivot,然后将大于等于pivot的排在pivot的右边,下雨pivot的排在pivot的左边。这样pivot的最终顺序就确定好了,接下来只需要对pivot的左边和右边执行相同的过程即可。代码如下:...

2019-08-01 22:41:05

整数数组按频率高低排序---总结

给定一个数组,按照频率进行排序,频率高的排在前面,频率低的排在后面,频率相同的安装出现的向后顺序排序:输入: 【1,2,4,3,3,3,4,2,5,5,5,5,6,6,6,7,10,8,9】输出:【5,5,5,5,3,3,3,6,6,6,2,2,4,4,1,7,10,8,9】实现代码:public static List<Integer> salaryfrequen...

2019-08-01 22:37:47

Java一行代码实现原生数组与包装数组之间的转换

不知道你是否被这样的问题困扰过,就是包装数组与原生数组之间的转换,比如说int[]与Integer[]之间的转换。当然写一个for循环是可以完美解决这个问题的,但是有时候总是感觉得不偿失。比如说:我有一个List里面收集了一些整数值,但是最终我想返回一个int[],怎么办呢?这里我想是有两种办法的: 1、new 一个int[],然后写一个for循环依次赋值即可。 2、使用t...

2019-08-01 21:57:47

Base16算法

Base16算法的Java实现版本。Base16算法就是将一串字节流转换成0-9a-f的序列。我们知道一个字节为8位,正好可以转换成两个16进制数,(高四位和低四位)。比如字节:11010011 -> 1101 0011 -> d 3public class Base16 { private static final char[] upper = "01234567...

2019-07-30 14:30:09

阿里云服务器暴露主机端口号

阿里云服务器暴露端口号的 坑!!!!!!之前使用学生价买了阿里云服务器,最近做项目,想部署一些服务到上面去,配置好了防火墙,暴露了端口,当是本地还是无法访问,郁闷了好长一段时间(小白!!)。后来才发现还需要在控制台上设置!!!在控制台上,找到安全->防火墙:下面是默认暴露的端口:如果自己需要暴露某些端口,点击添加...

2019-07-30 13:13:59

python3.7 在windows 系统下安装mysqldb

在https://www.lfd.uci.edu/~gohlke/pythonlibs/上找到mysqlclient,点击进去下载对应系统的版本:这里有个小插曲,我们系统是win7 64位的,刚开始下载时选择64位的报错了,后来下载32位的安装上了。最后在下载目录使用pip根据安装即可:pip install mysqlclient-1.4.2-cp37-cp37m-wi...

2019-07-23 20:33:12

最大的火车站台维修点

题目来源:度小满2019年秋招笔试真题题目:在Z省,有若干个个城市坐落在一条直线上,从左到右依次标号1,2,3,…,其中每个城市有一个火车站点,现今已经开放了n条火车路线,第i条火车路线是从第Yi个城市到第Xi个城市,因为Z省地势奇特,标号小的城市地势较低,所以火车是从高往低开的,再通过神秘力量传送回高地,即Yi一定大于Xi,它在沿途的所有城市都会停靠(显然不包括起点Yi,但是包括终点Xi...

2019-07-16 13:23:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。