<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[算法吹的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/restlessssh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; restlessssh]]></copyright><item><title><![CDATA[找工作历险记：位运算篇]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/78062943</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/78062943</guid><author>restlessssh</author><pubDate>Fri, 22 Sep 2017 14:56:02 +0800</pubDate><description><![CDATA[这是最近帮同学刷笔试题以及自己笔试面试遇到的一些问题的汇总。首先，我是考研党，但也想找工作，心中理想的工作就是算法工程师了，但是算法岗卡学历比较严重。想了很久，给简历加上了“知其不可为而为之”一句话后，投了三家公司，收到了两家的笔试通知。虽然笔试答得很好，每道编程题都解出来了，但是面试还是让我认清了自己，实力确实还不够算法工程师的水准，还是考研读博深造的好。 
也算是心里有点数了吧。题有我自己的面试]]></description><category></category></item><item><title><![CDATA[溢出避免：求平均数]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/69950621</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/69950621</guid><author>restlessssh</author><pubDate>Mon, 10 Apr 2017 16:07:55 +0800</pubDate><description><![CDATA[好久不见…… 
这次来说说求平均数的问题。

问题很简单，就是求 (a+b)/2。 
当然，我不是让你直接printf(“%d”,(a+b)/2);   这样随便一个人学一小时C语言就可以做到。 
问题是 a+b 如果溢出了怎么办？溢出的话就得不到正确结果了，这样该怎么解决？ 
如果简单的避免溢出，将程序改成 a/2+b/2，这样也是不对的，这样会在a,b都为奇数时导致缺失。 
还有人会给出 a+]]></description><category></category></item><item><title><![CDATA[C语言的艺术：强大的宏]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51542278</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51542278</guid><author>restlessssh</author><pubDate>Tue, 31 May 2016 00:06:01 +0800</pubDate><description><![CDATA[这次不讲算法了，讲一讲C语言里面一个很强大的功能：宏。 
宏，是一个大家都很熟悉的概念，很多人也经常使用宏，但是用的都不怎么深，我所知道的最常见的用法就是用宏抽象数组长度。#define N 99
a[N] = {0};实际上，宏就是简单的替换，编译器在编译程序时，遇到N,会将其替换成99。 
那么下面来看这段代码：#define sqrt(x) x*x
sqrt(5);
sqrt(3+2);]]></description><category></category></item><item><title><![CDATA[结构的艺术：模糊查询]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51496568</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51496568</guid><author>restlessssh</author><pubDate>Wed, 25 May 2016 10:41:23 +0800</pubDate><description><![CDATA[系统的学过编程的人应该都知道，有一门基础课：《数据结构与算法》，这门课很重要，但是许多人却不怎么重视，导致后来算法学习频频碰壁。我不会给大家系统的讲数据结构，但是我会给大家讲一些很有趣的结构，下来的学习还是得靠大家自己努力啦。 这次讲的是模糊查询。]]></description><category></category></item><item><title><![CDATA[继续贪心：删数问题]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51440382</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51440382</guid><author>restlessssh</author><pubDate>Tue, 17 May 2016 23:27:39 +0800</pubDate><description><![CDATA[上次已经讲过一次贪心了，这次就来个小实战吧，下面看题： 
**删数问题**已知一个数组，要求从数组中删除n个数，要求剩下的数按顺序排列成的数字最小。例：数组为{1,3,2,4,7,0,5}  n = 3;  输出结果为： 1 2 0 5拿到题先分析，首先分析上面的例子试试吧，既然要删除n个数，那就一个一个删吧，那么删的时候要遵循什么标准呢？只要每次删的时候依次枚举删后的结果，挑选一个最小的就好了。因]]></description><category></category></item><item><title><![CDATA[一路向优：贪心算法]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51340942</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51340942</guid><author>restlessssh</author><pubDate>Sun, 08 May 2016 00:34:03 +0800</pubDate><description><![CDATA[今天来讲贪心算法吧。 
贪心法就是根据人类的本性命名的。每次选择时都选择那个当前最好的结果就行了，也就是我们常说的局部最优。但是大多数情况下局部最优并不一定是全局最优，所以贪心算法并不一定可以得到全局最优解。相反的，如果你可以确定一个系统的局部最优一定可以推出全局最优的话，那么毫无疑问，直接使用贪心算法，因为贪心算法的效率比动规快太多了。 
下面就来看题吧。**会场安排问题**假设要在足够多的会场里]]></description><category></category></item><item><title><![CDATA[背包问题：另一种思路]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51278492</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51278492</guid><author>restlessssh</author><pubDate>Thu, 28 Apr 2016 23:14:55 +0800</pubDate><description><![CDATA[这次对前面讲的两个背包问题：01背包问题和完全背包问题进行更深入的理解，下面来看思想吧。01背包问题：之前我们讲得思想很简单，每次只要求出从前i个物品中挑选出总重量不超过j的物品时总价值的最大值。既然我们可以通过求相应重量对应的最大价值这种方法来计算出答案，那么换个思路，我们是否可以通过求相应价值对应的最小重量来计算出答案？ 
既然这样想，那就来试试吧。]]></description><category></category></item><item><title><![CDATA[算法与心法：需要二维数组吗？]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51225383</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51225383</guid><author>restlessssh</author><pubDate>Sat, 23 Apr 2016 11:22:05 +0800</pubDate><description><![CDATA[这次是对前三篇算法的一个小扩展。 
为什么起名叫做“算法与心法”？算法就不用说了，在这里简单的说一下心法。 
当你看到一道题时，题目只会给你输入数据和输出数据的要求，你只需要根据输入数据得到正确的输出数据就好了，没有人管你是如何得到的。大家现在可以回头看看我之前讲的那三个问题。01背包和完全背包这两个问题我只求得了最大价值，没求最大价值对应的该拿走的物品，爱思考的同学已经发现，最大价值对应的该拿走的]]></description><category></category></item><item><title><![CDATA[最长子序列问题：简单的动规]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51223866</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51223866</guid><author>restlessssh</author><pubDate>Fri, 22 Apr 2016 22:57:58 +0800</pubDate><description><![CDATA[最长公共子序列问题
最长递增子序列问题]]></description><category></category></item><item><title><![CDATA[完全背包问题：优化之路]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51165399</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51165399</guid><author>restlessssh</author><pubDate>Fri, 15 Apr 2016 23:01:31 +0800</pubDate><description><![CDATA[**完全背包问题**有n个重量和价值分别为wi，vi的物品，从这些物品中挑选出总重量不超过W的物品，每种物品可以挑选多件，求所有挑选方案中价值总和的最大值。与01背包大同小异，只是现在每件物品可以选择任意多件了，那么每个物体就需要多次考虑，既然要多次考虑，那么就需要一个新参数控制每次考虑的情况。 
那么看看这次的情况吧，已经不能按照01背包那样简单的动规了，但是有一点很清楚，我们可以按照01背包的动]]></description><category></category></item><item><title><![CDATA[01背包问题：初入动规坑]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51126584</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51126584</guid><author>restlessssh</author><pubDate>Mon, 11 Apr 2016 22:42:34 +0800</pubDate><description><![CDATA[**01背包问题**
有n个重量和价值分别为wi，vi的物品，从这些物品中挑选出总重量不超过W的物品，求所有挑选方案中价值总和的最大值。]]></description><category></category></item><item><title><![CDATA[我是算法吹]]></title><link>https://blog.youkuaiyun.com/restlessssh/article/details/51123516</link><guid>https://blog.youkuaiyun.com/restlessssh/article/details/51123516</guid><author>restlessssh</author><pubDate>Mon, 11 Apr 2016 17:29:29 +0800</pubDate><description><![CDATA[这些事情是没办法阻止的。算法的思想，人们的梦想，时代的潮流。只要我们继续追求"速度"，这些事情就绝对无法阻止。
----------算法吹]]></description><category></category></item></channel></rss>