![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 63
阿亮叨逼叨
公众号:懒人自传
展开
-
关于N皇后问题的非递归算法浅析
一直以来都蛮想写一些博客文章的,但每次原创 2014-11-08 14:32:32 · 1665 阅读 · 0 评论 -
第10题:寻找插入位置
给定一个已经升序排好序的数组,以及一个数target,如果target在数组中,返回它在数组中的位置;否则,返回target插入数组后它应该在的位置(假设数组中没有重复的数)。 以下是简单的示例: [1,3,5,6], 5 → 2 [1,3,5,6], 2 → 1 [1,3,5,6], 7 → 4 [1,3,5,6], 0 → 0 提示:输入一个整数原创 2015-01-16 19:50:58 · 594 阅读 · 0 评论 -
第11题:移除数组中的重复元素
给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间。即常数空间限制。 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例输入: 5 0 0 1 1 2 样例输出: 3原创 2015-01-17 10:20:08 · 615 阅读 · 0 评论 -
第12题:最后一个单词的长度
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。 如果不存在最后一个单词,返回0 注意: “单词”是指不包含空格符号的字符串 例如: s = “hello World”,那么返回的结果是5 格式: 第一行输入字符串s,然后输出s中最后一个单词的长度。 样例输入: Today is a niceday原创 2015-01-18 08:56:52 · 573 阅读 · 0 评论 -
第13题:整数转换成罗马数字
给定一个整数num,( 1 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等。 格式: 第一行输入一个整数,接下来输出对应的罗马数字。 样例输入: 123 样例输出: CXXIII 遇到这道题的时候,不了解罗马数字的规则的话,还真不知道怎么写。没什么好说的,度娘。。 研究了一下,知道这一题的本意是让我们将整数的每一位都原创 2015-01-19 13:16:16 · 789 阅读 · 0 评论 -
第14题:罗马数字转换成整数
给定一个罗马数字s,(I 如罗马数字I,II,III,IV,V分别代表数字1,2, 3, 4, 5。 格式: 第一行输入一个罗马数字,接下来输出对应的整数。 提示: 首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。 在构成数字的时候,有下列规则: 1原创 2015-01-20 18:52:09 · 2399 阅读 · 0 评论 -
第15题:单独的数字
给定一个数组,除了一个数出现1次之外,其余数都出现3次。找出出现一次的数。 如:{1,2, 1, 2, 1, 2, 7}, 找出7. 格式: 第一行输入一个数n,代表数组的长度,接下来一行输入数组A[n],(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。 要求: 你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~ 样原创 2015-01-21 15:59:50 · 490 阅读 · 0 评论 -
第16题:爬楼梯
假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n,代表楼梯的级数。 接下来一行输出你的方法总数。 样例输入: 5 样例输出: 8 怪自己比较笨,当时第一个想法是用二叉树来做,每个结点的值减去一或二成为它的左右孩子,直到结点值为0为止。可以说我懒把,当时觉得这样一原创 2015-01-22 12:00:26 · 1944 阅读 · 0 评论 -
第17题:X的平方根
设计函数intsqrt(int x),计算x的平方根。 格式: 输入一个数x,输出它的平方根。直到碰到结束符号为止。 千万注意:是int类型哦~ 样例输入: 1 2 3 4 5 6 7 8 9 样例输出: 1 1 1 2 2 2 2 2 3 这一题意思很清晰,求一整数的平方根的下取整的数(即不大于这个数原创 2015-01-23 19:42:57 · 849 阅读 · 0 评论 -
第6题:泥塑课
小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始做泥塑前,让大家把手里的橡皮泥都捏成一个立方体,并且测量手里捏好的橡皮泥的长、宽和高。这样,她就可以知道谁被谁抢了橡皮泥了。 小米老师在不同的学期可能会带一个班或者同时带多个班,因此输入数据可能原创 2015-01-13 11:50:24 · 719 阅读 · 0 评论 -
第9题:元素移除
给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度。 如:A[]= {1, 2, 3, 4, 5}, 要删除数字3,那么返回数组长度为4. 提示:int removeElement(int A[], int n, int elem) 其中,n代表数组长度,elem代表要删掉的元素。 格式: 输入一个数n,继而输入一个数组A[n],接着输入要删原创 2015-01-15 09:40:26 · 536 阅读 · 0 评论 -
第4题:简单斐波那契
斐波那契数列是一种非常有意思的数列,由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加。用数学公式定义斐波那契数列则可以看成如下形式: F0=0 F1=1 Fn=Fn-1+Fn-2 我们约定Fn表示斐波那契数列的第n项,你能知道斐波那契数列中的任何一项吗? 输入包括一行,包括一个数字N(0≤N≤50)。 输出包括一行,包括一个数字,为斐波那契数列的第N项的值。 样例输原创 2015-01-10 16:26:03 · 705 阅读 · 0 评论 -
不懂算法之带分数
题目描述 标题:带分数 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 题目要求: 从标准输入读入一个正整数N (N 程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种原创 2014-12-04 18:21:34 · 709 阅读 · 0 评论 -
第1题:A+B+C问题
输入为一行,包括了用空格分隔的三个整数A、B、C(数据范围均在-40~40之间)。输出为一行,为“A+B+C”的计算结果。 样例输入 22 1 3 样例输出 26 遇到这种相对算是最简单的算法题的时候,只要你把题目的要求搞清楚了,基本上是没有问题的。 代码如下: #include int main(void) { int a, b, c;原创 2015-01-09 20:05:33 · 1135 阅读 · 0 评论 -
第2题:整除问题
判断一个数是否能被另一个整数整除 输入包括两个由空格分开的整数M和N(1≤M,N≤500)。 输出包括一行,如果M可以被N整除就输出YES,否则输出NO(结果大小写敏感)。 样例输入 21 7 样例输出 YES 这一题其实与上一题一样,判断一个数能否被另一个数整除,用一下模运算,也就是用'%'运算符,她的作用是取余。例如3%5=3,在数学上就是所谓的余原创 2015-01-09 20:11:57 · 1011 阅读 · 0 评论 -
第3题:判断质数
对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。判断一个数是否是质数。 输入包括一行,为一个整数N(1 输出包括一行,如果晓萌给出的整数N为质数,那么输出YES;如果N不是质数,那么输出NO。 样例输入 3 样例输出 YES 判断一个数n是否是质数,最容易想到的就是从2开始不断去试,直到n-1,如果其中一次n能被原创 2015-01-09 20:27:53 · 686 阅读 · 0 评论 -
第5题:矩阵翻转
输入第一行包括由空格分开的整数M、N、T(0 之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据。 输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。 样例输入 4 4 1 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 样例输出 3 4 5 6 9 0 1 2 5 6 7原创 2015-01-11 12:49:32 · 868 阅读 · 0 评论 -
第7题:奇怪的国家
有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。 输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞原创 2015-01-13 11:53:33 · 572 阅读 · 0 评论 -
第8题:字符串长度
在右侧我们给出了一个已经基本完成的程序,读入了一个字符串,调用了一个叫str_len的函数来计算这个字符串的长度,并输出。 聪明的你应该已经发现了,这个叫str_len的函数并没有完成,在不修改函数原型的情况下,请完成str_len函数,实现我们上述的功能吧。 样例输入 abcdefg 样例输出 7 在C头文件string.h中就有这样功能的函数,有时候用惯了许原创 2015-01-14 15:22:14 · 2069 阅读 · 0 评论 -
第18题:跳跃游戏
给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。 例如: A = [2,3,1,1,4], return true. A = [3,2,1,0,4], return false. 格式: 第一行输入一个正整数n,接下来的一原创 2015-01-24 15:06:22 · 601 阅读 · 0 评论