[LeetCode788] Rotated Digits 旋转数字

一、题目 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字,则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方...

2019-05-12 18:01:14

阅读数 19

评论数 0

[LeetCode617] Merge Two Binary Trees 合并二叉树

一、题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。 示例1: 输入: Tree 1...

2019-05-12 16:05:14

阅读数 28

评论数 0

[LeetCode19] Remove Nth Node From End of List 删除链表的倒数第N个节点

一、题目 给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3-&am...

2019-05-12 01:43:15

阅读数 24

评论数 0

[LeetCode7] Reverse Integer 整数反转

一、题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号...

2019-05-12 00:00:18

阅读数 4

评论数 0

redis一致性hash实践

之前在网上看过一致性hash原理,但是看过就忘记了,根本原因是没有理解透彻也没有实践,最近我负责了公司的会员业务,redis是开发自己搭建的,没有被DBA管理,最近要求迁移,这个工作就落在了我头上,为了确保迁移后缓存的key还能路由到原来的数据上,我把架构和源码研究了一番,发现竟然用了一致性has...

2019-04-24 04:08:00

阅读数 39

评论数 2

go学习笔记4-go协程间的协作

通过channel实现go协程间的协作,类似于java的wait和notify。协程1执行到i 等于10因为管道没数据被阻塞,协程2执行完写入数据到channel,协程1被唤醒继续执行。 一、代码 package main import "fmt" import &qu...

2019-04-20 23:10:40

阅读数 23

评论数 0

go学习笔记3-协程和线程对比

在B站上看了一个视频,讲了协程和线程在运行机制上有一些不同,线程运行中会因为操作系统的调度而失去时间片,协程运行过程中是不会受到影响的,除非协程的业务代码主动让出CPU执行权或者遇到io阻塞,接下来用线程和协程实现同样功能来对比一下两者之间的区别,线程的代码我用java写,但是运行结果出乎我的意料...

2019-04-20 22:55:23

阅读数 17

评论数 0

go学习笔记2

1.结构体、接口初体验 package main import "fmt" type Animal interface { eat() run() } type Cat struct { Name string Age int Color string...

2019-04-20 21:49:29

阅读数 27

评论数 0

[LeetCode14] Longest Common Prefix 最长公共前缀

一、题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例1: 输入: ["flower","flow","flight"] 输出: "fl" ...

2019-04-20 16:38:00

阅读数 32

评论数 0

[LeetCode02] Add Two Numbers 两数相加

一、题目 给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例: 输入:(2 -&a...

2019-04-20 15:40:51

阅读数 31

评论数 0

go学习笔记1

学习了几天go语言,谈一下感想吧,自动格式化代码(统一代码格式)、支持多返回值、导入包和定义变量必须使用、切片、协程等,感觉是结合了各种语言的优点,当然也有我觉得不太爽的,就是结构体的属性和方法不在同一个花括号定义,这样没有java那样清晰,interface的方法就是在一个花括号里边的,为啥就不...

2019-04-17 22:14:39

阅读数 25

评论数 0

[LeetCode01] Two Sum 两数之和

一、题目 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 ...

2019-04-14 18:53:51

阅读数 31

评论数 0

中缀表达式计算器

一、实现思路 1.双栈,一个操作符栈,一个操作数栈,从左到右扫描所有的字符 2.如果是操作数,直接入操作数栈;如果是操作符,比较栈顶操作符和新操作符优先级 如果新的操作符是左括号或优先级高于栈顶元素时新的操作符入栈; 如果新的操作符优先级不高于栈顶元素的 ,就先出栈一个操作符(如果新...

2019-04-14 17:03:33

阅读数 96

评论数 0

Problem one: Trains

分享一道TW的笔试题吧,该题目考查的是图的存储、深度优先遍历、最短路径等知识点。 图共有两种存储方式,第一种是邻接矩阵(二维数组),另外一种是邻接表(map+链表), 我采用的是邻接表的一种变种表示法,将链表用map替代了,为了方便通过顶点的值查找到 另一个顶点的路径。该题共有10个测试用例,目前...

2019-03-31 22:29:34

阅读数 29

评论数 0

org.apache.commons.httpclient.util.DateUtil.formatDate时间少一天

一、一个奇葩Bug 前几天测试测出来一个Bug,设置生日然后保存成功,会自动往前一天,比如设置为1990-01-01,再回去看,会变成1989-12-31,因为优先级较低,其他同事也没遇到过这种奇葩问题而且当时比较忙,然后Leader让我有时间查一下,然后我今天查了一下,写了一个测试用例测了一下...

2019-03-28 18:28:09

阅读数 40

评论数 0

Netty介绍以及源码分析

一. Netty是什么 Netty是一个能支持快速和容易开发网络应用程序的NIO客户端服务器框架,例如协议服务器客户端,它极大的简化了网络编程,例如TCP和UDP套接字编程。 快速和容易并不意味着应用程序将面临维护和性能问题。Netty是在积累了大量协议(例如FTP、SMTP、HTTP、还...

2019-03-28 07:11:03

阅读数 60

评论数 0

Scalable IO in Java(Java可伸缩IO)

翻译一下Doug Lea所写的Scalable IO in Java(Java可伸缩IO) 大多数的网络服务有着同样的处理流程: Read request 请求数据读取 Decode request 请求数据解码 Process service 业务处理 Encode reply 响应编...

2019-03-28 05:06:19

阅读数 30

评论数 0

mysql使用INSERT INTO ON DUPLICATE KEY UPDATE导致dead lock分析和解决

一.事件回放 2019年1月的几天时间里每天会收到1次或者2次死锁的短信告警,死锁日志如下图。 二、检查业务场景和程序处理流程 用户打赏礼物请求处理,涉及到用户余额表和佣金账户表,以下所有操作在一个事务里,事务的隔离级别是read-commited,前一个操作执行成功才会继续下一个步骤否...

2019-03-16 18:11:58

阅读数 69

评论数 0

机器学习实战笔记1

机器学习的主要任务是分类,我们决定使用某个机器学习算法进行分类,首先要做的是算法训练,即学习如何分类,通常我们为算法输入大量的已分类数据作为算法的训练集,训练集是用于训练机器学习算法的数据样本集合,目标变量是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续...

2019-03-12 01:30:24

阅读数 19

评论数 0

mac系统docker入门

一、安装 mac系统不能像Linux系统安装docker那样一条命令完成,需要安装docker公司开发的软件,提供了一个虚拟化的环境来运行docker,安装完成之后1个多G。 1.首先确认系统版本,docker要求2010年以后的系统,10.12的操作系统可以安装Docker Desktop ...

2019-03-03 11:56:59

阅读数 181

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭