算法思路
2015-07-07 16:14
176 查看
1、动态规划:一堆积木,每个积木有长宽高<c,k,g>;现在要从中找出满足以下规则的最多木块数。规则:下面的木块长宽高都要大于或等于上面的长宽高?
思路:先把所有木块按长排序,长相同按宽排序,以此类推;定义数组所以值初始化位1,再第i个木块从第一块木筷比较,找出比第i个木块小的所有木块的键值最大的一个再加1,即为其键值;
2、在一个元素个数为N的数组里,找到升序排在N/5位置的元素(或者第k大小的元素)的最优算法时间复杂度是O(N) 用桶排序或基数排序可以解决
3、A、B和C。如果C包含且仅包含来自A和B的所有字符,而且在C中属于A的字符之间保持原来在A中的顺序,属于B的字符之间保持原来在B中的顺序,那么称C是A和B的混编。实现一个函数,判断C是否是A和B的混编。
给定三个字符串A,B和C,及他们的长度。请返回一个bool值,代表C是否是A和B的混编。保证三个串的长度均小于等于100。
测试样例:
思路:先把所有木块按长排序,长相同按宽排序,以此类推;定义数组所以值初始化位1,再第i个木块从第一块木筷比较,找出比第i个木块小的所有木块的键值最大的一个再加1,即为其键值;
2、在一个元素个数为N的数组里,找到升序排在N/5位置的元素(或者第k大小的元素)的最优算法时间复杂度是O(N) 用桶排序或基数排序可以解决
3、A、B和C。如果C包含且仅包含来自A和B的所有字符,而且在C中属于A的字符之间保持原来在A中的顺序,属于B的字符之间保持原来在B中的顺序,那么称C是A和B的混编。实现一个函数,判断C是否是A和B的混编。
给定三个字符串A,B和C,及他们的长度。请返回一个bool值,代表C是否是A和B的混编。保证三个串的长度均小于等于100。
测试样例:
"ABC",3,"12C",3,"A12BCC",6
返回:true
相关文章推荐
- 黑马-OC-Foundation-NSNumber常见对象类
- ubuntu中安装samba
- ubuntu中安装samba
- Sizeof与Strlen的区别与联系
- List,Set,Map(面试时的尴尬)
- Laravel 4 系列入门教程(二)【最适合中国人的Laravel教程
- memcached分布式布置方案
- Android中声音处理流程
- java MD5加密算法实现
- 创建C3P0数据源
- ubuntu中安装samba
- 应付分配集 Distribution Sets
- DataTable填补了实体类返回泛型集合
- 安卓开发7-网络通信-如何使用webservice
- ubuntu中安装samba 分类: linux 学习笔记 ubuntu 2015-07-07 16:14 46人阅读 评论(0) 收藏
- DataSnap 连接池
- HttpClient_用Apache HttpClient实现URL重定向
- Apache Thrift 在 Ubuntu 的简单使用
- 关于Storm的几点困惑释疑
- Laravel 4 系列入门教程(一)【最适合中国人的Laravel教程】