- 博客(6)
- 资源 (25)
- 收藏
- 关注
转载 从数列1,2,3,......,n中随意取出几个数,使其和等于m
问题描述: 输入两个整数n和m,从数列1,2,3,.......n中随意去几个数,使其和等于m,要求将其中所有可能的组合列出来。解决思路: 这个问题其实是背包问题的变形,给出两种解决方法。 解法一: 用递归,效率可能低了点。假设问题的解为F(n,m),可分为两个子问题F(n-1,m-n)和F(n-1,m)。对于这两个问题递归求解,求解的过程中,如果找
2014-11-03 10:29:25 1791
转载 智力题
1、有1000桶酒,其中一桶有毒。而一旦吃了,毒性会在一周内发生。现在我们用小老鼠做实验,要在1周内找出那桶毒酒,问最少需要多少老鼠?【答案】思路 10只老鼠按顺序排好每桶酒按照编号转换成二进制,给相应位置上是1的老鼠喝。最后按死掉的老鼠是哪几只,然后排成二进制,再转成十进制就是第几桶酒。 比如: 第70桶酒,70转换成二进制就是0001000110,那么就给第四
2014-11-03 10:26:08 528
转载 C++中四种强制类型转换的区别
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast。1、static_cast 用法:static_cast (expression) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: (1)用于类层次结构中基类和
2014-11-03 10:14:39 385
转载 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
最大子序列最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,只要前i项的和还没有小于0那么子序列就一直向后扩展,否则丢弃之前的子序列开始新的子序列,同时我们要记下各个子序列的和,最后找到和最大的
2014-11-02 21:28:18 430
转载 统计一个无序数组中出现次数最多的元素
统计一个无序数组中出现次数最多的元素。可以有的一种解法是先对数组排序,所有相同的元素都会集中到一起,再进行一次遍历就能解决问题。问题是时间的复杂度比较大,不满足一些场合下的要求。n个元素的数组,有k个不同的元素。如果频率最高的元素的频率大于50%,下面一个简单的实现可以解决问题。只需要一次遍历。[cpp] view plaincopy#include
2014-11-02 21:25:59 3230 3
转载 关于数组的几道面试题
数组求和求数组中的最大值和最小值求数组中的最大值和次大值求数组中出现次数超过一半的元素求数组中元素的最短距离求两个有序数组的共同元素求三个数组的共同元素找出数组中唯一重复的元素找出出现奇数次的元素求数组中满足给定和的数对最大子段和最大子段积数组循环移位字符串逆转组合问题合并两个数组重排问题找出绝对值最小的元素数组求和
2014-11-02 21:10:53 508
计算几何算法
2015-01-18
计算几何算法大全
2015-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人