seo网站结构,app是基于什么开发的,成都网站游戏设计,广州网站建设484186前言#xff1a;前段时间发烧了#xff0c;所以耽误了很多事情#xff0c;一直没有更新#xff0c;多穿点衣服#xff0c;感冒不好受。
接下来有时间就会陆续更新一些基础的算法题#xff0c;题目都很经典#xff0c;大家可以先尝试着做#xff0c;再看
解析。
第一…前言前段时间发烧了所以耽误了很多事情一直没有更新多穿点衣服感冒不好受。
接下来有时间就会陆续更新一些基础的算法题题目都很经典大家可以先尝试着做再看
解析。
第一题 思路先来审题对于这种题目很长的题更应该耐着性子来读把大意读懂接着一步步模拟明确优先顺序那一步做什么判断做之前可以先写一下思路再来上手实操。
这道题看起来抽象其实确实抽象一般的人做不出除非你是二班的人我改代码都改了有两个小时。首先你应该判断你输入的字符串是否展开不展开的话又分两种一种是右边字符是左边的后继那么删除减号输出第二种如果右边比左边ascII小那么保留减号直接输出。如果展开的话先判断是正序还是逆序同时你又要判断是否;-两边的字符是否都是数字还是都是字母是的话才能继续展开否则不展开。然后展开的话循环的左边界就是左字符加一到右边界-1同时右边界取不到接着又要更具p2输出循环输出字符的次数在循环内部根据p1的取值输出大小写这里我定义了一个字符串将字符填进字符串方便后续的逆序输出。最后这里面还有很多细节大家可以思考比方说数组越界逆序输出等等.. 第二题 思路注意到要输出的是单词我们可以定义三个数组分别是作为中间变量的最长和最短字符串如果中间变量大于最长就更新长度和单词。接着就是具体可以用chgetchar如果读到\n或者eof退出碰到分隔符来判断没碰到就把这个字符填进去中间变量字符串 第三题
思路就是对着葫芦画瓢。要判断新的字符串你就得先定义两个新的字符串然后在给定的边界中遍历将它添加进新的字符串然后来比较即可
第四题
思路这个题看起来简单其实也要好好想一想。这里你可以这么想先定义个数组cnt[26]来计数等下出现字符串的时候减去’a表示字母所在的位置循环遍历字符串的时候出现一次就计数一次然后重新遍历数组再判断输出 第五题 思路依葫芦画瓢。注意判断一下最后一个字符是加上第一个字符然后输出即可 第六题 思路
题意很简单就是把数字字符的个数统计一下然后输出个数和字符那么肯定要定义计数器cnt
然后判断相邻两个字符是不是相同相同cnt不相同就输出值得注意的是要判断相邻两个那么就要从1开始遍历从0的话就越界了。最后还要再输出一遍原因就是如果最后几个是相同的数字字符循环里面就不会把他输出举个例子最后几个数字是222他的cnt一直加到3就退出循环了所以最后再输出一次。
第七题 思路既然要统计键盘总次数就要根据你输入的字符串的每一个字母来确定所以你得将输入按动一次二次三次四次出现的字符存入一个数组并把字符作为下标因为你遍历的字符串是字母把数值当作数组的值最后就和即可。
第八题 思路这个题看起来很抽象但是题意很好懂就是先定义二维数组接着输出如果是地雷输出*不是地雷判断这个位置的八个方位有多少个地雷加起来输出。这里介绍两种方法一种就是用方向数组来优化代码另外一种就是用常规if判断
在这里面d[x]表示横行移动d[y]表示纵向移动例如当d[1dx[0]][1[dy[0]]就表示d[2][0],就是向左移动一格判断。如果用八个if来判断的话就是把else里面的语句更改为 第九题 思路这个题很简单因为字符串有空格所以用getline然后稍微判断一下即可 第十题 思路这个题没什么说的字符串中有空格所以读取的时候用getline然后分别统计即可 第十一题
思路
需要找vk同时你能更改一个字母那么你可以这样先找到所以出现的vk然后将他更改为其他的字符计数器方便下一次改字符的时候计数然后你就要找vv或者vk要考虑全面找到vv的话改后一个v找到kk 的话改第一个k找到就break最后输出即可。 第十二题 思路
这个题的题意其实有点抽象不太好理解我整这道题也整了好久。
注意他问的是字符串中有多少个boy和girl包括被覆盖的先从这个输入输出来看为什么boy是4因为一个眼睛可见的boy还有一个o说明什么说明o左右两边的b 和y都被覆盖了后面的yy同理。想到这里你肯定还是懵。你就要统计次数了那么统计什么呢比方说出现一个b那么你计数器是不是要出现o计数器出现y计数器也但是里面必然会有重复的比方说你先是统计b出现b就计数器的话包括boybo出现o包括booy是不是发现bo重复统计了y也是同理所以为了避免重复你只需在当出现o的时候加一个条件就是不能出现b同理出现y的时候不能出现b和o再来计数这样就避免了重复。
第十三题
思路
题目看似抽象实则确实抽象。要理解题意。具体来做的话好像的就是打表格。
把所有的英文数字单词计入一个数组所对应数字的平方%11的值再放到一个数组如何循环六次每一次输入一个单词判断是不是数字单词是的话就把对应数字平方%11的值赋给一个新的数组存起来。最后排序一下输出。并且如果排完之后的数字不是第一位的话如果数值比10小前面的0不能省略所以这里还要用if判断一下再来输出。 总共13题到此结束感谢你的阅读与君共勉