<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SHURamos的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SHURamos</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SHURamos]]></copyright><item><title><![CDATA[[Lintcode] #135 数字组合]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78474029</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78474029</guid><author>SHURamos</author><pubDate>Tue, 07 Nov 2017 23:57:25 +0800</pubDate><description><![CDATA[给出一组候选数字(C)和目标数字(T),找到C中所有的组合，使找出的数字和为T。C中的数字可以无限制重复被选取。
例如,给出候选数组[2,3,6,7]和目标数字7，所求的解为：
[7]，
[2,2,3]


 注意事项


所有的数字(包括目标数字)均为正整数。
元素组合(a1, a2,
 … , ak)必须是非降序(ie, a1 ≤ a2 ≤
 … ≤ ak)。
解集不]]></description><category></category></item><item><title><![CDATA[[Lintcode] #153 数字组合 II]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78473975</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78473975</guid><author>SHURamos</author><pubDate>Tue, 07 Nov 2017 23:44:04 +0800</pubDate><description><![CDATA[给出一组候选数字(C)和目标数字(T),找出C中所有的组合，使组合中数字的和为T。C中每个数字在每个组合中只能使用一次。


 注意事项


所有的数字(包括目标数字)均为正整数。
元素组合(a1, a2,
 … , ak)必须是非降序(ie, a1 ≤ a2 ≤
 … ≤ ak)。
解集不能包含重复的组合。 




您在真实的面试中是否遇到过这个题？ 


]]></description><category></category></item><item><title><![CDATA[[Lintcode] #116 跳跃游戏]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78462052</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78462052</guid><author>SHURamos</author><pubDate>Mon, 06 Nov 2017 21:18:09 +0800</pubDate><description><![CDATA[给出一个非负整数数组，你最初定位在数组的第一个位置。　　　
数组中的每个元素代表你在那个位置可以跳跃的最大长度。　　　　
判断你是否能到达数组的最后一个位置。


 注意事项

这个问题有两个方法，一个是贪心和 动态规划。
贪心方法时间复杂度为O（N）。
动态规划方法的时间复杂度为为O（n^2）。
我们手动设置小型数据集，使大家可以通过测试的两种方式。这仅仅是为了让大家学会如何]]></description><category></category></item><item><title><![CDATA[[Lintcode] #150 买卖股票的最佳时机 II]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78438885</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78438885</guid><author>SHURamos</author><pubDate>Fri, 03 Nov 2017 19:13:25 +0800</pubDate><description><![CDATA[假设有一个数组，它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。


您在真实的面试中是否遇到过这个题？ 


Yes




样例

给出一个数组样例[2,1,2,0,1], 返回 2.
public class Solution {
  ]]></description><category></category></item><item><title><![CDATA[[Lintcode] #376 二叉树的路径和]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78438683</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78438683</guid><author>SHURamos</author><pubDate>Fri, 03 Nov 2017 18:55:05 +0800</pubDate><description><![CDATA[给定一个二叉树，找出所有路径中各节点相加总和等于给定 目标值 的路径。
一个有效的路径，指的是从根节点到叶节点的路径。


您在真实的面试中是否遇到过这个题？ 


Yes




样例

给定一个二叉树，和 目标值 = 5:
     1
    / \
   2   4
  / \
 2   3

返回：
[
  [1, 2, 2],
  [1, 4]
]
]]></description><category></category></item><item><title><![CDATA[[Lintcode] #138 子数组之和]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78388807</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78388807</guid><author>SHURamos</author><pubDate>Sun, 29 Oct 2017 22:34:01 +0800</pubDate><description><![CDATA[给定一个整数数组，找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置


 注意事项

There is at least one subarray that it's sum equals to zero.




您在真实的面试中是否遇到过这个题？ 


Yes




样例

给出 [-3, 1, 2, -3, 4]，返回[0,]]></description><category></category></item><item><title><![CDATA[[Lintcode] #452 删除链表中的元素]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78363818</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78363818</guid><author>SHURamos</author><pubDate>Fri, 27 Oct 2017 13:15:53 +0800</pubDate><description><![CDATA[删除链表中等于给定值val的所有节点。


您在真实的面试中是否遇到过这个题？ 


Yes




样例

给出链表 1->2->3->3->4->5->3,
 和 val = 3, 你需要返回删除3之后的链表：1->2->4->5。
/**
 * Definition for singly-linked list.
 * public class ListNode]]></description><category></category></item><item><title><![CDATA[[Lintcode] #49 字符大小写排序]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78363331</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78363331</guid><author>SHURamos</author><pubDate>Fri, 27 Oct 2017 11:53:08 +0800</pubDate><description><![CDATA[给定一个只包含字母的字符串，按照先小写字母后大写字母的顺序进行排序。


 注意事项

小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。




您在真实的面试中是否遇到过这个题？ 


Yes




样例

给出"abAcD"，一个可能的答案为"acbAD"


public class Solution {
    /*
   ]]></description><category></category></item><item><title><![CDATA[[Lincode] #14 二分查找]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78363183</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78363183</guid><author>SHURamos</author><pubDate>Fri, 27 Oct 2017 11:39:52 +0800</pubDate><description><![CDATA[给定一个排序的整数数组（升序）和一个要查找的整数target，用O(logn)的时间查找到target第一次出现的下标（从0开始），如果target不存在于数组中，返回-1。




样例

在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3，返回2。



挑战 

如果数组中的整数个数超过了2^32，你的算法是否会出错？


class Solu]]></description><category></category></item><item><title><![CDATA[4.9 chmod和fchmod函数]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78357406</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78357406</guid><author>SHURamos</author><pubDate>Thu, 26 Oct 2017 18:51:51 +0800</pubDate><description><![CDATA[我们使用这两个函数可以改变现有文件的访问权限。
//函数原型
//返回值：若成功则返回0，出错则返回-1
#include
int chmod(const char *pathname, mode_t mode);
int fchmod(int filedes, mode_t mode);
chmod函数在指定的文件上进行操作，而fchmod函数则在已打开的文件上进行操作。


条件：进]]></description><category></category></item><item><title><![CDATA[[Lintcode] #170 旋转链表]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78324070</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78324070</guid><author>SHURamos</author><pubDate>Mon, 23 Oct 2017 22:10:51 +0800</pubDate><description><![CDATA[给定一个链表，旋转链表，使得每个节点向右移动k个位置，其中k是一个非负数


样例

给出链表1->2->3->4->5->null和k=2
返回4->5->1->2->3->null

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNo]]></description><category></category></item><item><title><![CDATA[[Lintcode] #101 删除排序数组中的重复数字 II]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78320664</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78320664</guid><author>SHURamos</author><pubDate>Mon, 23 Oct 2017 17:00:07 +0800</pubDate><description><![CDATA[跟进“删除重复数字”：

如果可以允许出现两次重复将如何处理？

public class Solution {
    /**
     * @param A: a array of integers
     * @return : return an integer
     */
    public int removeDuplicates(int[] nums) {
     ]]></description><category></category></item><item><title><![CDATA[697. Degree of an Array]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78316858</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78316858</guid><author>SHURamos</author><pubDate>Mon, 23 Oct 2017 11:16:16 +0800</pubDate><description><![CDATA[Given a non-empty array of non-negative integers nums,
 the degree of this array is defined as the maximum frequency of any one of its elements.
Your task is to find the smallest possible length of ]]></description><category></category></item><item><title><![CDATA[[Lintcode] #112 删除排序链表中的重复元素]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78295913</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78295913</guid><author>SHURamos</author><pubDate>Fri, 20 Oct 2017 15:22:51 +0800</pubDate><description><![CDATA[给定一个排序链表，删除所有重复的元素每个元素只留下一个。


样例

给出 1->1->2->null，返回 1->2->null
给出 1->1->2->3->3->null，返回 1->2->3->null

/**
 * Definition for ListNode
 * public class ListNode {
 *     int val;
 *     List]]></description><category></category></item><item><title><![CDATA[[Lintocde] #57 三数之和]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78291059</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78291059</guid><author>SHURamos</author><pubDate>Fri, 20 Oct 2017 00:38:42 +0800</pubDate><description><![CDATA[给出一个有n个整数的数组S，在S中找到三个整数a, b, c，找到所有使得a + b + c = 0的三元组。



 注意事项

在三元组(a, b, c)，要求a 
结果不能包含重复的三元组。




您在真实的面试中是否遇到过这个题？ 


Yes




样例

如S = {-1 0 1 2 -1 -4},
 你需要返回的三元组集合的是：
]]></description><category></category></item><item><title><![CDATA[[Lintcode] #175 翻转二叉树]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78287408</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78287408</guid><author>SHURamos</author><pubDate>Thu, 19 Oct 2017 17:32:04 +0800</pubDate><description><![CDATA[翻转一棵二叉树


样例

  1         1
 / \       / \
2   3  => 3   2
   /       \
  4         4



非递归：
/**
 * Definition of TreeNode:
 * public class TreeNode {
 *     public int val;
 *     public T]]></description><category></category></item><item><title><![CDATA[[Lintcode] #488 快乐数]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78283224</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78283224</guid><author>SHURamos</author><pubDate>Thu, 19 Oct 2017 12:05:16 +0800</pubDate><description><![CDATA[写一个算法来判断一个数是不是"快乐数"。

一个数是不是快乐是这么定义的：对于一个正整数，每一次将该数替换为他每个位置上的数字的平方和，然后重复这个过程直到这个数变为1，或是无限循环但始终变不到1。如果可以变为1，那么这个数就是快乐数。




样例

19 就是一个快乐数。
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 +]]></description><category></category></item><item><title><![CDATA[[Lintcode] #392 打劫房屋]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78279649</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78279649</guid><author>SHURamos</author><pubDate>Thu, 19 Oct 2017 01:00:24 +0800</pubDate><description><![CDATA[假设你是一个专业的窃贼，准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是：相邻的房子装着相互联系的防盗系统，且 当相邻的两个房子同一天被打劫时，该系统会自动报警。

给定一个非负整数列表，表示每个房子中存放的钱， 算一算，如果今晚去打劫，你最多可以得到多少钱 在不触动报警装置的情况下。






样例

给定 [3, 8, 4], 返回 8.
]]></description><category></category></item><item><title><![CDATA[[Lincode] #149 买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78279617</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78279617</guid><author>SHURamos</author><pubDate>Thu, 19 Oct 2017 00:44:22 +0800</pubDate><description><![CDATA[假设有一个数组，它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。


样例

给出一个数组样例 [3,2,3,1,2], 返回 1 

public class Solution {
    /*
     * @param prices: Given an integer array
     * @re]]></description><category></category></item><item><title><![CDATA[[Lintcode] #469 等价二叉树]]></title><link>https://blog.youkuaiyun.com/SHURamos/article/details/78276880</link><guid>https://blog.youkuaiyun.com/SHURamos/article/details/78276880</guid><author>SHURamos</author><pubDate>Wed, 18 Oct 2017 19:49:27 +0800</pubDate><description><![CDATA[检查两棵二叉树是否等价。等价的意思是说，首先两棵二叉树必须拥有相同的结构，并且每个对应位置上的节点上的数都相等。


样例

    1             1
   / \           / \
  2   2   and   2   2
 /             /
4             4

就是两棵等价的二叉树。
    1             1
 ]]></description><category></category></item></channel></rss>