摘要: 题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 我的想法 这道题如果直接解的话,是没有什么难度。可以采用一个map来存每个数字出现 阅读全文
posted @ 2018-05-06 13:32 _weirdly 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。(输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。) 对字符串所有字符的全排列,只要注意一下重复的 阅读全文
posted @ 2018-05-06 13:20 _weirdly 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 定义 观察者模式(又称发布 订阅模式),在这种模式中,一个目标物件管理所有依赖于它的观察者物件,并且在它本身状态改变时主动发出通知,就拿微信和订阅公众号来说,我们订阅了一个公众号,就意味着我们成为了这个公众号的观察者(当然,我们可以订阅许许多多的公众号,也就是说我们可以是很多个目标物件的观察者),这 阅读全文
posted @ 2018-05-06 12:01 _weirdly 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 定义 策略模式定义了一系列算法,并将每一个算法封装起来,而且他们可以相互替换,让算法独立于使用他们的客户而独立变化。其实可以简单的这么理解,策略模式就是将某一个行为的各种实现(即方法)抽象出一个公共的接口,这样客户就可以调用接口,但是接口里面的具体实现却可以随意更换。 结构 环境(即使用该接口的对象 阅读全文
posted @ 2018-05-06 10:08 _weirdly 阅读(93) 评论(0) 推荐(0) 编辑