摘要: 在字符串中找出第一个只出现一次的字符。如输入:“aabcdc”,则输出b 。 思路:我们可以把数组当做一个简单的哈希表来用,把每个字母的ASCII码值作为在数组中的位置(下标),数组中存储的是该字符出现的次数。这样我们就创建了一个以字符ASCII码为健值的哈希表。 阅读全文
posted @ 2014-05-14 20:31 月轩 阅读(145) 评论(0) 推荐(0) 编辑
摘要: '\0'是C++中字符串的结尾标志,存储在字符串的结尾。 阅读全文
posted @ 2014-05-14 19:45 月轩 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 只包含因子2,3,5的数称作丑数。要求按从小到大的顺序输出指定数量的丑数。 有2中方法: 第一种:用穷举法,从最小的1开始判断穷举,是丑数就输出,否则继续循环判断。判断的方法是:如果一个数能被2整除,我们把他连续除以2;如果能被3整除,我们把他连续除以3;如果能被5整除,我们把他连续除以5。如果最后得到的值为1,那么这个数就是丑数。 第二种:用空间换时间,创建一个数组,里面的数字是排好序的丑数,下一个丑数是前面丑数乘以2、3、5得到的大于当前最大丑数的最小一个数。和第一种思路相比,第二种思路不需要在非丑数上做任何计算,因此时间效率会明显提升,但增加了空间消耗。 阅读全文
posted @ 2014-05-14 17:31 月轩 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 在以下集中情况下可以用 Proxy模式解决问题: 1)创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,GoF 称之为虚代理(Virtual Proxy); 2)为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象(网络性能不好的时候,问题尤其突出) ,我们将这个操纵的过程交给一个代理去完成,GoF 称 之为远程代理(Remote Proxy); 3)对对象进行控制访问的时候,比如在 Jive 论坛中不同权限的用户(如管理员、普通用户等)将获得不同层次的操作权限,我们将这个工作交给一个代理去完成,GoF 称之为保 护代理(Protection Proxy)。 4)智能指针(Smart Pointer)。 阅读全文
posted @ 2014-05-14 12:40 月轩 阅读(372) 评论(0) 推荐(0) 编辑