
算法
坂田银时君
这个作者很懒,什么都没留下…
展开
-
排序算法比较
算法综合比较 排序算法 时间复杂度 空间复杂度 稳定性 直接插入 O(n2)O(n^2) O(1)O(1) 稳定 shell排序 O(n1.3)O(n^{1.3}) O(1)O(1) 直接选择 O(n2)O(n^2) O(1)O(1) 堆排序 O(log2n)O(log_2 n) O(1)O(1) 冒泡排序原创 2017-05-17 16:42:34 · 216 阅读 · 0 评论 -
丑数
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。代码:#include<iostream>#include<vector>#include<algorithm>using namespace std;int fun(int N) { if (N<7) re原创 2017-09-10 17:03:16 · 191 阅读 · 0 评论 -
滴滴校招2018 XOR
#include<iostream>#include<vector>#include<algorithm>using namespace std;int main() { int n; while (cin >> n) { vector<int> a; for (int i = 0; i < n; i++) { int原创 2017-09-10 18:50:12 · 522 阅读 · 0 评论 -
BFGS算法
BFGS算法2015-03-27 01:55 22239人阅读 评论(11)收藏举报分类: 数学之美(10) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。今天,我来讲一种在机器学习中常用到的优化算法,叫做BFGS算法。BFGS算法被认为是数值效果最好的拟牛顿法,并且转载 2017-09-10 18:56:47 · 15745 阅读 · 0 评论 -
整数反转
Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding.转载 2017-09-19 21:37:43 · 362 阅读 · 0 评论 -
整数求和
问题: 输入两个整数 n 和 m,从数列1,2,3…….n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来. 分析: 由该题可知是典型的背包问题,根据该数是否加入进行递归运算。 解法:采用0-1背包的思想,使用递归方法: 当选择n时,就用剩下的n-1填满 m-n; 当不选择n是,就用剩下的n-1填满m; 注意的是,当m=n时,即找到了符合条件的解。#include<i转载 2017-09-19 21:40:59 · 1114 阅读 · 0 评论 -
[编程题] 简单错误记录
开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并) 2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并) 3.输入的文件可能带路径,记录文转载 2017-09-12 09:36:19 · 173 阅读 · 0 评论 -
[编程题] 扑克牌大小
扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):) 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER 输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER转载 2017-09-12 13:27:40 · 730 阅读 · 0 评论 -
C++ 算法(<algorithm>)的谓词(predicate)详解
算法(algorithm) 的 谓词(predicate) 详解 文章地址: http://blog.youkuaiyun.com/caroline_wendy/article/details/15378055 算法谓词, 即标准库算法传递的参数, 可以指定算法的操作, 如std::sort, 默认是从小到大, 通过谓词可以修改从大到小.本文包含基本的5种谓转载 2017-09-12 13:30:04 · 1585 阅读 · 0 评论 -
[编程题]删数
有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行转载 2017-09-12 15:44:33 · 845 阅读 · 0 评论 -
冒泡排序(C++)
#include <iostream>#include<algorithm>using namespace std;int main(){ int n;//数组元素个数 cin >> n; int array[1001]; for (int i = 0; i<n; i++) { cin >> array[i]; } for原创 2017-08-24 22:03:36 · 202 阅读 · 0 评论 -
快速排序 C++
#include<iostream>#include<algorithm>using namespace std;void quicksort(int a[], int begin, int end) {//升序 if (begin < end) { int i = begin, j = end, x = a[begin]; //x随机数,这里设为第一个数原创 2017-09-12 17:07:07 · 213 阅读 · 0 评论 -
字符串排序
题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出: aABb 规则 3 :非英文字母的其它字符保持原来的位置。 如,输入: By?e 输出原创 2017-09-12 18:07:02 · 567 阅读 · 0 评论 -
ACM 括号匹配深度
Description经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧。括号匹配的规则参考编程语言中的括号合法性检查。Input第1行:一个字符串,包含字母、数字和英文括号’(‘、’)’,长度小于10000 多组测试数据,以文件结束EOF作为输入结束Output每组数据输出一行,第N组数据格式如下: 第N行原创 2017-09-12 20:17:49 · 520 阅读 · 0 评论 -
希尔排序
#include<iostream>using namespace std;void shellsort(int arr[], int len) { int i, j, h, temp; for (h = len / 2; h >0; h = h / 2) { for (i = h; i < len; i++) { temp = arr[i原创 2017-10-09 16:06:48 · 191 阅读 · 0 评论 -
谓词
英文单词字典排序#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;bool mycompare(string str1,string str2){ if(str1<str2) return true; else re原创 2017-10-10 20:53:06 · 552 阅读 · 0 评论 -
贪心算法
题目大意:孩子有一个玩具,有n个部件组成,m条绳子组成,每条绳子连接两个部件。小孩比较顽皮,要将玩具拆成不可分割的部件,每次剪断一条绳子的代价是该绳子连接的两个部件的权值中较小的值。问说最小的总代价是多少。解题思路:以为每条边都是要被剪断的,所以将节点按照代价值从大到小排序,每次拿掉权值大的点,与该点连接并且还未剪断的边均用另外点的权值。#include <iostream>#include <c转载 2017-10-10 20:56:15 · 330 阅读 · 0 评论 -
求两个字符串的最长公共子序列的长度(动态规划)
题目: 输入字符串str1,对其翻转单词顺序列得到str2;(例如str1=“u r the best”,那么str2=“best the r u”);然后求这两个字符串的最长公共子序列的长度分析: 动态规划 详见http://blog.youkuaiyun.com/qq_27276951/article/details/51154696代码:#include<iostream>#include<stri原创 2017-10-11 11:10:39 · 4820 阅读 · 0 评论 -
[编程题]买苹果
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1 示例1 输入20 输出3代码转载 2017-09-09 14:39:03 · 780 阅读 · 0 评论 -
[编程题]计算糖果
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。 输入描述:输入为一行,一共4个整数,分别为A - B转载 2017-09-09 14:41:34 · 467 阅读 · 0 评论 -
[编程题]最大的奇约数
链接:https://www.nowcoder.com/questionTerminal/49cb3d0b28954deca7565b8db92c5296 来源:牛客网小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求出 f(1) + f(2) + f(3)…转载 2017-09-09 14:37:16 · 401 阅读 · 0 评论 -
股神
题目描述有股神吗? 有,小赛就是! 经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…依此类推。 为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?输入 输入包括多组数据; 每行输入一个n,1<=n<=10^9 。 样例输入 1 2 3 4 5原创 2017-08-28 21:35:13 · 295 阅读 · 0 评论 -
翻转数组
题目描述给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列。其中数组片段[l,r]表示序列a[l], a[l+1], …, a[r]。原始数组为 a[1], a[2], …, a[l-2], a[l-1], a[l], a[l+1], …, a[r-1], a[r], a[r+1], a[r+2], …, a[n-1], a[n], 将原创 2017-08-28 21:58:59 · 254 阅读 · 0 评论 -
约德尔测试
题目描述兰博和提莫闲聊之后,回归到了他们的正题,约德尔人的未来。 说起约德尔人的未来,黑默丁格曾经提出了一个约德尔测试,将约德尔人的历史的每个阶段都用一个字符表达出来。(包括可写字符,不包括空格。)。然后将这个字符串转化为一个01串。转化规则是如果这个字符如果是字母或者数字,这个字符变为1,其它变为0。然后将这个01串和黑默丁格观测星空得到的01串做比较,得到一个相似率。相似率越高,则约德尔的未来原创 2017-08-28 22:00:40 · 197 阅读 · 0 评论 -
路灯
题目描述V先生有一天工作到很晚,回家的时候要穿过一条长l的笔直的街道,这条街道上有n个路灯。假设这条街起点为0,终点为l,第i个路灯坐标为ai。路灯发光能力以正数d来衡量,其中d表示路灯能够照亮的街道上的点与路灯的最远距离,所有路灯发光能力相同。为了让V先生看清回家的路,路灯必须照亮整条街道,又为了节省电力希望找到最小的d是多少?输入 输入两行数据,第一行是两个整数:路灯数目n (1≤n≤1000原创 2017-08-28 22:28:32 · 327 阅读 · 0 评论 -
分苹果
题目描述果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?输入 输入1个整数,表示熊的个数。它的值大于1并且小于9。 样例输入 5 输出 为1个数字,表示果园里原来有的苹果个数。原创 2017-08-29 10:40:27 · 282 阅读 · 0 评论 -
马路上的路灯
城市E的马路上有很多路灯,每两个相邻路灯之间的间隔都是1公里。小赛是城市E的领导,为了使E城市更快更好的发展,需要在城市E的一段长度为M的主干道上的一些区域建地铁。这些区域要是建了地铁,就需要挪走相应的路灯。可以把长度为M的主干道看成一个数轴,一端在数轴0的位置,另一端在M的位置;数轴上的每个整数点都有一个路灯。要建地铁的这些区域可以用它们在数轴上的起始点和终止点表示,已知任一区域的起始点和终止点的原创 2017-08-29 11:05:16 · 343 阅读 · 0 评论 -
日期倒计时
题目描述在经济、科技日益发达的今天,人们对时间的把握越来越严格,对于一个一定影响力的公司的高管来说,他可能要将自己的行程提前安排到下个月。对于普通人来说,他也可能将几天之后的安排已经提前做好。 请设计一个程序计算出今天距离未来的某一天还剩多少天。 假设今天是2015年10月18日。输入 输入一个日期格式为yyyy-MM-dd,不考虑日期是否小于今天。 样例输入 2015-10-19 输出原创 2017-08-29 11:09:00 · 368 阅读 · 0 评论 -
上台阶
题目描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法。输入 输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。 样例输入 2 2 3 输出 对于每个测试实例,请输出不同走法的数量。 样例输出 1 2代码:#原创 2017-08-29 15:25:00 · 419 阅读 · 0 评论 -
腾讯模拟笔试编程题
题目描述:于一棵满二叉排序树深度为k,节点数为2^k-1;节点值为1至(2^k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12首先,我们来理解一下满二叉排序树,如下就是一个4层的满二叉排序树: * 8 * / \ * 4 12 * / \ / \原创 2017-08-29 21:34:27 · 334 阅读 · 0 评论 -
合并表记录
题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。 输入描述: 先输入键值对的个数 然后输入成对的index和value值,以空格隔开 输出描述: 输出合并后的键值对(多行)示例1 输入 4 0 1 0 2 1 2 3 4输出 0 3 1 2 3 4代码:#include<iostream>原创 2017-08-29 21:56:58 · 188 阅读 · 0 评论 -
回文串
题目描述给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。输入 一行一个有小写字母构成的字符串,字符串长度不超过10。样例输入 coco输出 如果输入字符串可以通过添加一个字符,则输出”YES”,否则输出”NO”。样例输出 YES代码:#in原创 2017-08-30 15:35:17 · 374 阅读 · 0 评论 -
网易 编程题 数字翻转
编程题 数字翻转 时间限制:1秒 空间限制:32768K 对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? 输入描述: 输入为一行,x、y(1 ≤ x、y ≤ 1000),以空原创 2017-09-09 13:42:49 · 334 阅读 · 0 评论 -
京东 笔试 编程
题目描述: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 …… 即大小为k的数字,正好会在序列中连续重复k次。 第n个元素的大小是多少么? 输入: 每个测试文件包含多个测试案例,每个测试案例只有一行,即整数n,1 <= n <= 10^18,代表要查找的第n个元素。 输出: 对于每个测试案例,输出疯狂的jobdu序列中的第n个元素。 样例输入:原创 2017-09-09 14:09:08 · 274 阅读 · 0 评论 -
[编程题]回文序列
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前转载 2017-09-09 14:17:20 · 467 阅读 · 0 评论 -
[编程题]优雅的点
链接:https://www.nowcoder.com/questionTerminal/0960cb46233b446687b77facc9148b89 来源:牛客网小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 例如:半径的平方如果为25 优雅的点就有:(+/-3, +/-转载 2017-09-09 14:24:11 · 245 阅读 · 0 评论 -
[编程题]跳石板
小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1转载 2017-09-09 14:30:49 · 196 阅读 · 0 评论 -
[编程题]暗黑的字符串
一个只包含’A’、’B’和’C’的字符串,如果存在某一段长度为3的连续子串中恰好’A’、’B’和’C’各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如: BAACAACCBAAA 连续子串”CBA”中包含了’A’,’B’,’C’各一个,所以是纯净的字符串 AABBCCAABB 不存在一个长度为3的连续子串包含’A’,’B’,’C’,所以是暗黑的字符串 你的任务就是计算出长度为转载 2017-09-09 14:34:41 · 339 阅读 · 0 评论 -
xgboost
登录 | 注册收藏成功确定收藏失败,请重新收藏确定*标题标题不能为空网址标签位置个人主页 - 我的知识同时保存至:选择知识图谱 选择知识图谱新建?转载 2017-10-02 19:41:31 · 544 阅读 · 0 评论