google第二道笔试题
题目要求大致意思:
* 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
* 比如,A=[1,0] K=21 那么输出结构应该为100
我在笔试的时候,想到非递归方法的思路,但由于时间关系,居然也没有写完(C太不熟悉了,写的太少了,现在加紧恢复中。。。)
现在提供一个PHP非递归实现的程序。
题目要求大致意思:
* 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
* 比如,A=[1,0] K=21 那么输出结构应该为100
我在笔试的时候,想到非递归方法的思路,但由于时间关系,居然也没有写完(C太不熟悉了,写的太少了,现在加紧恢复中。。。)
现在提供一个PHP非递归实现的程序。
三个编程题目中的第一个,最简单的。
题目要求:
给定一个字符串str,要求按照输入的顺序输出不同字符的个数。注意,不区分大小写。
比如str = "bcCd*ba" 对应的函数输出结果为 b:2 c:2 d:1 *:1 a:1
这个题目相对比较简单,我在笔试中,居然用C写的时候还出现了一些小问题。真是晕倒。
现在提供简单的两种PHP实现方法。都只需要一次遍历。(稍后提供linux下的C版本)
题目要求:
给定一个字符串str,要求按照输入的顺序输出不同字符的个数。注意,不区分大小写。
比如str = "bcCd*ba" 对应的函数输出结果为 b:2 c:2 d:1 *:1 a:1
这个题目相对比较简单,我在笔试中,居然用C写的时候还出现了一些小问题。真是晕倒。
现在提供简单的两种PHP实现方法。都只需要一次遍历。(稍后提供linux下的C版本)
PHP SPL笔记
目录
第一部分 简介
1. 什么是SPL?
2. 什么是Iterator?
第二部分 SPL Interfaces
3. Iterator界面
4. ArrayAccess界面
5. IteratorAggregate界面
6. RecursiveIterator界面
7. SeekableIterator界面
8. Countable界面
第三部分 SPL Classes
9. SPL的内置类
10. DirectoryIterator类
11. ArrayObject类
12. ArrayIterator类
13. RecursiveArrayIterator类和RecursiveIteratorIterator类
14. FilterIterator类
15. SimpleXMLIterator类
16. CachingIterator类
17. LimitIterator类
18. SplFileObject类
目录
第一部分 简介
1. 什么是SPL?
2. 什么是Iterator?
第二部分 SPL Interfaces
3. Iterator界面
4. ArrayAccess界面
5. IteratorAggregate界面
6. RecursiveIterator界面
7. SeekableIterator界面
8. Countable界面
第三部分 SPL Classes
9. SPL的内置类
10. DirectoryIterator类
11. ArrayObject类
12. ArrayIterator类
13. RecursiveArrayIterator类和RecursiveIteratorIterator类
14. FilterIterator类
15. SimpleXMLIterator类
16. CachingIterator类
17. LimitIterator类
18. SplFileObject类





