算法练习
osDetach
只有孜孜不倦地求索,才有源源不断的收获
展开
-
字符串是否由子串拼接
#include <iostream>#include <string>using namespace std ;int main() { string ss ; cin >> ss ; string tmp ="" ; int len = ss.size() ; int flag = 0 ; for(in...原创 2019-12-30 18:59:22 · 404 阅读 · 0 评论 -
字符串匹配
牛牛有两个字符串A和B,其中A串是一个01串,B串中除了可能有0和1,还可能有'?',B中的'?'可以确定为0或者1。 寻找一个字符串T是否在字符串S中出现的过程,称为字符串匹配。牛牛现在考虑所有可能的字符串B,有多少种可以在字符串A中完成匹配。 例如:A = "00010001", B = "??" 字符串B可能的字符串是"00","01","10","11",只有"11"没有出现在字符串A...原创 2019-12-22 16:05:32 · 396 阅读 · 0 评论 -
贪吃的小Q
#include <iostream>using namespace std ;//贪吃的小qint main() { int m, n ; int mid, now ; int temp ; int ok = 0 ; cin >> n >> m ; int l=1, r=m ; while(l !=...原创 2019-12-20 22:06:56 · 146 阅读 · 0 评论 -
c++11实现红黑树
红黑树实现过程难度主要集中在删除节点上,考虑的情况比较多!下面是删除节点的再次总结!上次的总结了一部分,现在我将它补充完整!删除节点的后继节点是父亲节点的左子树:总共四种情况当删除节点的后继节点是父亲的右子树:下面是实现的运行的运行截图:插入的多组测试用例并打印层次遍历的红黑树插入后结果:删除节点测试:源代码欢迎star和fork哦~~~...原创 2019-12-15 20:42:03 · 410 阅读 · 0 评论 -
阿拉伯转罗马数字
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000...原创 2019-12-06 23:03:08 · 504 阅读 · 0 评论 -
寻找第k个最大数
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。使用分治法解决,和快速排...原创 2019-12-05 16:57:18 · 521 阅读 · 0 评论 -
算法练习1
小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,表示父母出差的天数N(N<=50000)和巧克力的数量M(N<=M<=100000)。输出描述:输出一个数表示小Q...原创 2019-07-21 12:31:20 · 271 阅读 · 0 评论 -
神奇数字
题目描述:东东在一本古书集上看到一个神奇数(大于0),如果能够将一个数的所有位的数分成两组数,其中一组数字之和等于另一组数字的和,那这个数就是神奇数。现在给定一个取值范围,求该范围中神奇数的个数!数字224,可以分为(2,2)和(4)两组数字相等,符合神奇数的要求。数字123可以分成(1,2)和(3)所以是神奇数。234 无论那种分发都不能分成和相等的两组数,所以不是神奇数。对于...原创 2019-04-16 23:22:40 · 1616 阅读 · 0 评论 -
合并排序非递归实现总结
合并排序在众多排序算法中算是比较稳定的排序算法,时间复杂度为nlogn,采取分治的思想,可以说是比较高效的的排序算法。开始将长度为len的数组分为长度为1的len个子序列,开始作如下按照从小到大顺序合并:直到合并成一个长度和正数组长度相等的子序列即可。下面是代码的非递归实现实现:#include <iostream>#include<memory>using...原创 2019-03-20 16:47:23 · 1283 阅读 · 0 评论 -
算法练习集锦(一)
贪心算法给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。...原创 2019-02-23 22:51:12 · 1993 阅读 · 0 评论 -
深度优先搜索算法练习入门
还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。示例 1:输入: [1,1,2,2,2]输出: true解释: 能拼成一个边长为2的正方形,每边两根火柴。示例 2:输入: [3,3...原创 2019-01-30 23:04:21 · 422 阅读 · 1 评论 -
验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,...原创 2019-01-27 10:29:09 · 372 阅读 · 0 评论 -
求最长素子串的长度
本来在leetcode里面搜的是哈系表相关算法练习,把这个题做完后,感觉没用到相关知识[哭笑一波原创 2019-01-26 22:46:58 · 291 阅读 · 0 评论