链表相加算法

20170311804232017-03-12.jpg

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
}
}

题目是说给你两个存放正整数的链表,链表是倒序放的。让你将两个链表相加,然后返回。

谈谈Java范型

2017031158256cat1.jpg

工作一年有余,用过一些范型,但很少。做移动端的时候,看过Okhttp源码,其中使用了众多范型和设计模式的内容。学习后端后,Spring也使用了范型,这篇文章是作为工作以后作为范型的回顾。也是深入学习范型。范型作为Java高级部分的内容,不容忽视。Java使用范型的目的是加强类型安全和减小类的转换次数。Java范型的参数只能代表类,不能代表个别对象,Java编译时会进行类型擦除,所以无法在运行时得知参数的具体类型,也不能使用基本值类型。运行时是使用生成的字节码进行反射的调用。

编辑距离算法

前面一篇文章觉得不复杂,当选择Pick one的时候,整个世界都崩溃了。文章记录的是现在都两个字符串word1和word2,如何通过插入,删除,替换的方式将字符串从word1转换为word2.计算出这个转换过程的最小步骤。算出这道题后,后面我还在网上找了一道拓展的题。据说是来自<<程序员编程艺术:面试和算法心得>>。我也没有读过,并不确定,但是给出了解法。就这两个题,耗费了我整整一天,我已经是个废人了。欢迎读者给出更优秀的答案。该吐槽就吐槽,千万别犹豫。

Edit Distance

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)

You have the following 3 operations permitted on a word:

a) Insert a character
b) Delete a character
c) Replace a character

求和算法

来北京半年年。天气好,空气差。还是觉得有些不自在。最近在学习前端,闲暇之余刷一下LeetCode,记得读大学的时候,很是讨厌算法这东西。咋看也不会,而且还觉得没什么卵用。昨天学习算法,竟然入迷了。感觉很是好玩。入了代码狗的门之后才明白,写出代码容易,写出好的代码不容易。能写出好代码的才叫程序员。写的烂的那就码农。后面一些列文章都是算法和一些基本功。毕竟和别人差的太远。高调不起来。

WebRTC服务器端搭建

前言先不慌。

搭建房间服务器

下载配置go

  • 下载go环境

  • 解压tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

  • 配置环境变量export PATH=$PATH:/usr/local/go/bin

Maven基本使用

前面写了一篇Spring+Struts+Hibernate集成的文章,那一堆的jar包,看的我头疼,版本也不好管理。所以,我还是老老实实的来搞一波Maven吧,逃避不了的。

Tigase+Smack推送实现

群聊中的文字,图片,语音交流已经实现,现在慢慢实现推送通知,文章开始部分是自己对于Tigase+Smack实现通知的解决方案资料的收集,后面部分记录推送通知的实现,以及一部分原理。

MySQL使用笔记

平时使用的数据就是MySQL,当然,是自己MySQL还没有学好,所以才没有用别的。毕竟各种资料,博客记录的都是MySQL的资料。所以作为一个年轻的司机,还是老老实实的学习比较好。这篇文章记录在学习或者项目中,MySQL的使用笔记,没有什么特别针对性。不懂什么就记什么。

Spring集成Struts和Hibernate

Spring,Struts,Hiberbate基础已经学习完成。想自己把这三个框架集成一下,然后再写一个后台管理网站练练手。Spring的作用是依赖注入,而Struts是显示层的东西,这两个框架集成后是什么样子。一边学习,一边记录。上车。