网易笔试编程题详解

本文详细解析了网易笔试中的四道编程题目,包括彩砖问题、01串问题、独立的小易和等差数列。在解题过程中,强调了理解题目条件、优化算法和注意细节的重要性。通过具体代码示例展示了解题思路。
摘要由CSDN通过智能技术生成

题目一 彩砖的问题

这里写图片描述

解析:在答这道题的时候,我分析出,首先是和字母的种类数有关系的,当这个种类数为2的时候,它是存在的,而且结果是2,因为BBAA与AABB,当这个种类数为3或者大于3的时候,这个时候是不存在,因为,只要第三种和前两种相邻,这个结果就是大于1的,对于种类数为0和1的情况,我都认为是0(理解错误),在这一块,我犯了错误,题目中是“最多存在一对不同颜色的相邻砖块”,也就是说包含着一对都不存在的情况,我把这点忽略,这种在脑海浮现过,只是我认为它不符合而已,所以,正确的结论是,当种类数大于2的时候,结果就是0,当种类数小于2的时候,种类数就是最后的结果

总结:在这个过程中我遇到的第一个难点就是,如何得到这个种类数,我想到的思路就是遍历字符串,将统计的结果放到一个空数组中,这个时候我想到了自己之前的做法,以大写字母的ASCII码值作为下标,但是一想这次只有26个字母,空间太浪费了,所以我打算这个数组只存储这26的字母,所以我就想到’A’对应的下标就是0,然后就想到了用字母-A作为统计数组的下标

具体的代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(void) {
    char str[50];
    int a[26] = {
  0};
    int i = 0;
    int type = 0;

    gets(str);


    for(i = 0; i < strlen(str); i++) {
        a[str[i] - 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值