<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ALiTuTu的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ALiTuTu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ALiTuTu]]></copyright><item><title><![CDATA[【leetcode】【Easy】【453. Minimum Moves to Equal Array Elements】【math】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54731119</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54731119</guid><author>ALiTuTu</author><pubDate>Wed, 25 Jan 2017 21:47:57 +0800</pubDate><description><![CDATA[problem link


看着复杂，其实转换一下思维就可以了


code:
public class Solution {
    //n-1个元素加一相当于只有一个减去1，那么每次只让一个元素减一，直到所有元素都相同，这个相同的元素就是数组中最小的元素
    public int minMoves(int[] nums) {
        int min=nums[0];]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【455. Assign Cookies】【greedy】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54731023</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54731023</guid><author>ALiTuTu</author><pubDate>Wed, 25 Jan 2017 21:16:25 +0800</pubDate><description><![CDATA[problem link


code:
public class Solution {
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        
        int num=0;
        for(int i=0,]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【283. Move Zeroes】【array】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54620388</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54620388</guid><author>ALiTuTu</author><pubDate>Fri, 20 Jan 2017 00:05:49 +0800</pubDate><description><![CDATA[problem link


word：in-place 在原位


code:
code1：计算某一非零位前面有多少个0，直接前移，然后给后面的赋值为0，有几个赋值几个。
public class Solution {
    public void moveZeroes(int[] nums) {
        if(nums==null || nums.length==0)]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【226. Invert Binary Tree】【tree】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54618486</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54618486</guid><author>ALiTuTu</author><pubDate>Thu, 19 Jan 2017 23:30:34 +0800</pubDate><description><![CDATA[problem link


code：
code1:递归在leetcode上要比BFS快一点
public class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root == null) return null;
        TreeNode tmp = root.left;
   ]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【389. Find the Difference】【string】【bit manipulation】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54602670</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54602670</guid><author>ALiTuTu</author><pubDate>Wed, 18 Jan 2017 16:56:00 +0800</pubDate><description><![CDATA[problem link


code1:将string变为char数组比第二种直接操作string使用charAt方法要快很多
public class Solution {
    public char findTheDifference(String s, String t) {
        int sumS=0;
        int sumT=0;
        int]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【104. Maximum Depth of Binary Tree】【tree】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54601824</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54601824</guid><author>ALiTuTu</author><pubDate>Wed, 18 Jan 2017 16:34:48 +0800</pubDate><description><![CDATA[经典简单问题 
problem link


note:
（1）递归要有结束条件
（2）此题可用DFS，BFS解题


code：
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode r]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【448. Find All Numbers Disappeared in an Array】【正负位标记】【Array】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54600545</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54600545</guid><author>ALiTuTu</author><pubDate>Wed, 18 Jan 2017 15:06:53 +0800</pubDate><description><![CDATA[problem link


code:用负来标记出现过的，因为题目要求不能有extra space，复杂度为O(n)，所以只能操作原数组，另外可以利用的是数组的下标。
public class Solution {
    public List findDisappearedNumbers(int[] nums) {
        for(int i=0;i<nums.length;]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【463. Island Perimeter】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54588690</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54588690</guid><author>ALiTuTu</author><pubDate>Wed, 18 Jan 2017 00:19:57 +0800</pubDate><description><![CDATA[problem link:https://leetcode.com/problems/island-perimeter/


code1:效率较高的两种解法，打败一半的人
//查看右边和下边的邻居public class Solution {
    public int islandPerimeter(int[][] grid) {
        int islands = 0, ne]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【344. Reverse String】【string】【two pointers】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54577673</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54577673</guid><author>ALiTuTu</author><pubDate>Tue, 17 Jan 2017 15:04:30 +0800</pubDate><description><![CDATA[一个经典，基本的问题：翻转字符串
problem link:https://leetcode.com/problems/reverse-string/



note:
(1)String类的方法substring(beginindex,endindex)两个参数如果相同返回的是空字符串
(2)stringbuilder的replace方法和string的substring方法指针超]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【412. Fizz Buzz】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54577127</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54577127</guid><author>ALiTuTu</author><pubDate>Mon, 16 Jan 2017 20:41:16 +0800</pubDate><description><![CDATA[problem link：https://leetcode.com/problems/fizz-buzz/


code：
code1: 最简单的一种
public class Solution {
    public List fizzBuzz(int n) {
        List res=new ArrayList(n);
        
        for(int i]]></description><category></category></item><item><title><![CDATA[【leetcode】【Easy】【461. Hamming Distance】【bit manipulation】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54428046</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54428046</guid><author>ALiTuTu</author><pubDate>Sat, 14 Jan 2017 18:31:24 +0800</pubDate><description><![CDATA[problem link:https://leetcode.com/problems/hamming-distance/




code:
效率从高到低的三种方法
第一种方法，要知道java中int占用4个字节（char占用2个字节 reference：http://blog.youkuaiyun.com/witsmakemen/article/details/8974200），这种类型的题既]]></description><category></category></item><item><title><![CDATA[【leetcode】【Medium】【451. Sort Characters By Frequency】【HashMap】【PriorityQueue】【HeapSort】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/54091316</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/54091316</guid><author>ALiTuTu</author><pubDate>Thu, 05 Jan 2017 23:17:09 +0800</pubDate><description><![CDATA[problem link: 
https://leetcode.com/problems/sort-characters-by-frequency/


note:
1.Java集合类priorityqueue优先队列，没用过所以想不到，还想自己写插入排序，Java现成的方法很方便
2.想到用桶排序的思想，但是由于考虑到string长度会不会太长以及中文字符的存在而放弃了
3.com]]></description><category></category></item><item><title><![CDATA[【leetcode】【Medium】【413. Arithmetic Slices】【Math】【Dynamic programming】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/53861322</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/53861322</guid><author>ALiTuTu</author><pubDate>Sat, 24 Dec 2016 17:51:50 +0800</pubDate><description><![CDATA[problem link


code(java 2ms  beat 32.44%):
public class Solution {
    public int numberOfArithmeticSlices(int[] A) {
		int count = 0;
		int N = A.length;
		
		if(N<=2){
		    return 0;
		}

		fo]]></description><category></category></item><item><title><![CDATA[【leetcode】【Medium】【338. Counting Bits】【规律】]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/53824725</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/53824725</guid><author>ALiTuTu</author><pubDate>Fri, 23 Dec 2016 00:22:23 +0800</pubDate><description><![CDATA[注意边界及特殊情况


problem link:https://leetcode.com/problems/counting-bits/


code1(java 3ms):
public class Solution {
    public int[] countBits(int num) {
        if(num==0){
            return new]]></description><category></category></item><item><title><![CDATA[git for mac]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/50918481</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/50918481</guid><author>ALiTuTu</author><pubDate>Fri, 18 Mar 2016 00:17:36 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/crylearner/article/details/7685022
http://www.cocoachina.com/bbs/read.php?tid=200557

http://blog.163.com/xianfuying@126/blog/static/21960005201181482518631/

http://www.jian]]></description><category></category></item><item><title><![CDATA[Java面试知识学习笔记2（2016/3/8）]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/50824907</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/50824907</guid><author>ALiTuTu</author><pubDate>Thu, 10 Mar 2016 23:27:47 +0800</pubDate><description><![CDATA[（接前一篇）
在JVM垃圾收集器收集一个对象之前，一般要求程序调用适当的方法释放资源。finalize()用于终止化该对象来释放资源]]></description><category></category></item><item><title><![CDATA[数据挖掘/机器学习]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/50838657</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/50838657</guid><author>ALiTuTu</author><pubDate>Wed, 09 Mar 2016 21:17:11 +0800</pubDate><description><![CDATA[1.SVM优缺点

SVM有如下主要几个特点： 
(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射； 
(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心； 
(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量；
(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。
它基本上不涉及概率测度及]]></description><category></category></item><item><title><![CDATA[Java面试知识学习笔记1（2016/3/7）]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/50819437</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/50819437</guid><author>ALiTuTu</author><pubDate>Tue, 08 Mar 2016 00:21:45 +0800</pubDate><description><![CDATA[1.异常
Throwable-->Error,Exception
RuntimeExpeption:如除数为0，空指针


2.final（加上final就代表是最终的，不能被改变）
变量+final：一旦被初始化，不可改变。基本类型值不能变，对象变量引用不能变。
方法中的参数+final：基本类型：传值，对象变量：传递引用，防止意外改变
方法+final：可以继承，不允许继承中的]]></description><category></category></item><item><title><![CDATA[面经阅读]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/50816002</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/50816002</guid><author>ALiTuTu</author><pubDate>Sun, 06 Mar 2016 23:05:17 +0800</pubDate><description><![CDATA[1.2016/3/6
阿里面试经历及总结（数据研发、Java研发方向）
另一个链接

摘取：
我说：“比赛的时候，我们每天都要盯着数据提取特征。如果，仅仅把这个当作数字来看，确实很枯燥。但是，我们会把它当作一种用户行为对待和分析。这 样就变得很有趣了。比如，数据清洗后，我看到某个用户每天都在点击某一个品牌，他就是不买，很显然这就是屌丝；有些人一直在购买，明显的高富帅啊。
Java问题：]]></description><category></category></item><item><title><![CDATA[Android demo--调用系统相机拍照并显示图片为黑白]]></title><link>https://blog.youkuaiyun.com/ALiTuTu/article/details/50780601</link><guid>https://blog.youkuaiyun.com/ALiTuTu/article/details/50780601</guid><author>ALiTuTu</author><pubDate>Wed, 02 Mar 2016 18:39:15 +0800</pubDate><description><![CDATA[1.环境搭建
操作系统是Mac OS，一年多以前写Android的时候用的还是Eclipse，操作系统是Windows，记得环境很难搭建，总是会有错误，所以面试的时候要求完成这个Demo还是有一点点虚。不过用Baidu和Google查了怎么搭建环境之后，发现有了官方的IDE：Android Studio，我还是很开心的，决定不用eclipse搭环境了，改用Android Studio，因为这样只]]></description><category></category></item></channel></rss>