一道不怎么理解的题

Look and Say

这道题说起来自己觉得都好笑,看了半天都没明白是怎么个意思。其实,这道题也蛮简单的,说一下题的意思:给你一个很大的数,肯定要用到字符串啦,然后让你从第一个数字开始找相同的,直到碰到不相同的才会进行下面的重新寻找,好比举个例子,一个人喜新厌旧,开始只去与这样的人交朋友,等发现新的时候会抛弃以前的朋友去与那些交往,不知道这个例子得当与否。。

下面看一下我的代码

<span style="font-size:14px;color:#000000;">#include<stdio.h>
#include<string.h>
int main()
{
	int n, i, sum, j, len;
	char a[1000], k;
	while(~scanf("%d", &n))
	{
		for(i=0;i<n;i++)
		{
			scanf("%s", a);
			len=strlen(a);
			sum=0;
			k=a[0];
			for(j=0;j<len;j++)
			{
				if(k==a[j])
				{
					sum++;
					if(j==len-1)//最后一个要直接输出(for循环已经终止)
					{
						printf("%d%c", sum, k);
					}
				}
				else
				{
					printf("%d%c", sum, k);
					k=a[j];
					sum=1;//因为已经有一个不同的了
					if(j==len-1)//与上面一样,都是因为for循环终止
					{
						printf("%d%c", sum, k);
					}
				}
			}
			printf("\n");
		}
	}
	return 0;
}</span>

很多题还是需要慢慢参透,题意真的很重要,编程的路还是很艰难,但是,我的智慧人生需要自己点亮,我的智慧的灯也需要自己点亮,加油!

时间: 2024-08-26 01:00:22

一道不怎么理解的题的相关文章

一道有趣的算法题。。。

题目意思: 用1, 2, 3 ,4 ,5, 6, 7, 8, 9 组成3个三位数 abc, def 和 ghi, 每个数字恰好使用一次,要求abc:def:ghi = 1:2:3.输出所有解. 分析: 模拟所有三位数,判断条件有二: 一.i(abc):j(def):k(ghi)=1:2:3 二.判断是否出现的1~9之间的所有数字 代码: /** *一道有趣的算法题 * */ #include<iostream> #include<cstdio> using namespace st

一道模板元编程题源码解答(replace_type)

今天有一同学在群上聊到一个比较好玩的题目(本人看书不多,后面才知是<C++模板元编程>第二章里面的一道习题), 我也抱着试一试的态度去完成它, 这道题也体现了c++模板元编程的基础和精髓: 类型就是数据. 题目如下所述: Write a ternary metafunction replace_type<c,x,y> that takes an arbitrary compound type c as its first parameter, and replaces all oc

一道有趣的算法题:仿照Excel的列编号,给定一个数字,输出该列编号字符串

       By Long Luo 最近遇到一个算法题: 仿照Excel的列编号,给出一个数字,输出该列编号字符串. 例如:A对应1,Z对应26,AA对应27,AZ对应52 ...... 这个题目是一个典型的26进制思路去处理,但是这个题目里面有很多陷阱,在1, 26, 52等特殊情况进行考虑,经过晚上接近1个小时的编写,完成的代码如下: C++代码如下: #include <iostream> #include <string.h> using namespace std; /

一道简单的数据结构题 栈的使用(括号配对)

一道简单的数据结构题 发布时间: 2017年6月3日 18:46   最后更新: 2017年6月3日 18:51   时间限制: 1000ms   内存限制: 128M 描述 如果插入"+"和"1"到一个括号序列,我们能得到一个正确的数学表达式,我们就认为这个括号序列是合法的.例如,序列"(())()", "()"和"(()(()))"是合法的,但是")(", "(()&quo

从一道简单的dp题中学到的...

今天想学点动态规划的知识,于是就看了杭电的课件,数塔问题啊,LCS啊都是比较经典的动规了,然后随便看了看就开始做课后练习题... HDOJ 1421 搬寝室 http://acm.hdu.edu.cn/showproblem.php?pid=1421 题目大意:从n(n <= 2000)个数中选出k对数(即2*k个),使它们的差的平方和最小. 例如:从8,1,10,9,9中选出2对数,要使差的平方和最小,则应该选8和9.9和10,这样最小,结果为2 因为知道是dp的题,先建个dp[][]数组,然

一道有趣的js题以及个人的理解

var number = 2; var obj = { number : 4, fn1 : ( function() { this.number *= 2; number=number*2; var number=3; return function() { this.number *= 2; number*=3; alert(number); } } )(), db2:function(){this.number*=2} }; var fn1 = obj.fn1; alert(number);

值得一做》关于一道DP+SPFA的题 BZOJ1003 (BZOJ第一页计划) (easy+)

这是一道数据范围和评测时间水的可怕的题,只是思路有点难想,BUT假如你的思路清晰,完全了解怎么该做,那就算你写一个反LLL和反SLE都能A,如此水的一道题,你不心动吗? 下面贴出题目 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪.由于各种因素的存在,有的时候某个码头会无法装卸货物.这时候就必须修改运输路线,让货物能够按时到达目的地

[POI2010]KLO-Blocks——一道值得思考的题

题目大意: 给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数都不小于k.M组询问,每组给出一个k n<=1000000,m<=50,xi,k<=1e8 分析: 乍一看,有一些选择性,还有序列,像是dp,但是对于动规,因为可以经过无数次操作,而且数的范围也不小,完全没有想法. 所以这个时候

随手翻的一道摩拜校招题

好久没写点东西了,一方面在忙于写点玩具,而另一方面又是忙于学车. 昨天随手就看到了摩拜单车的一道校招题,是这样的: 于是我就用了常规solution,如下: function times(str,time){ while(time>1){ str+='abc'; time--; } return str; } console.log(times('abc',3)); // => 'abcabcabc' 但听说用一行代码解决可以加分哟,于是我屁颠屁颠就去写了,代码如下: function tim