上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页
摘要: 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 输入一个字符串,按字典序打印出 阅读全文
posted @ 2018-06-12 08:59 Lune-Qiu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S, 阅读全文
posted @ 2018-06-11 20:33 Lune-Qiu 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 参考博文:http://www.cnblogs.com/nailperry/p/4752987.html,主要就是从数字出发找规律。 一、1的数目 编程之美上给出的规律: 1. 如果第i位(自右至左,从1开始标号)上的数字为0,则第i位可能出现1的次数由更高位决定(若没有高位,视高位为0),等于更高 阅读全文
posted @ 2018-06-10 11:46 Lune-Qiu 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 代码:(超时) int GetUglyNumber_Solution(int index) { if(inde 阅读全文
posted @ 2018-06-09 14:20 Lune-Qiu 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 例1: for(int i = 1;i<=n;i*=2){ for(int j = 1;j<=n;j++) p--;} 时间复杂度:O(n*log2n) 内层循环改为 <=i 时间复杂度:O(n2) 1+2+3...+n 等差数列前n项和 例二: for(i = 1;i<=n;i++) for(j 阅读全文
posted @ 2018-06-09 11:23 Lune-Qiu 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路:看到这个题我们基本的思路就是,判断树A和树B的每一个节点,找到相同的节点然后就继续比较。 那么就是递归的思想。 代码: bool DFS(TreeNode* pRoot1,TreeNode* 阅读全文
posted @ 2018-06-08 15:00 Lune-Qiu 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 字典树(TrieTree):功能:查找,排序,计数 看名字理解,就像查字典一样的查找,即首字母为a从一处开始查找,首字母为b的从某一处开始查找。 这样我们就建成了26叉树,每一个叉代表一个字母,根不表示字母。 那么比如说字符串数组:acd abc 我们再这个数组中找ab,那么也会找到,所以我们就需要 阅读全文
posted @ 2018-06-08 09:45 Lune-Qiu 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 字符串匹配中最简单的算法: 基本思路:wandderwonder wonder 建立256个长的next数组,记录每个字符最后一次出现的位置。 设mark1 = 0; 和 mark2 = 0;flag = mark1;两个串从头开始出发,到第二个字符不相等,那么一定不是第一个字符开始的字符串,mar 阅读全文
posted @ 2018-06-07 18:47 Lune-Qiu 阅读(99) 评论(0) 推荐(0) 编辑
摘要: strstr:一个字符串在另一个字符串中出现的位置。 我们将第一个字符串称为匹配串,第二个字符串称为主串 在整个KMP过程中主串不回头(即向后走或者停止) KMP中最终要的环节就是Next数组: 根据前缀,和后缀,找到最大相同的串即该位的next数组值。 举个例子:(字符串的前缀和后缀不能为本身) 阅读全文
posted @ 2018-06-07 14:51 Lune-Qiu 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 代码: static bool cmp(int a,int b) { string A = to_string( 阅读全文
posted @ 2018-06-06 20:52 Lune-Qiu 阅读(647) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页