2021/11/25学习总结

  • 8:30-9:00    看了会啊哈算法
  • 10:10-11:50    上程序设计基础实验,做的实验是有关一维数组,二维数组以及字符数组的应用这次实验加强了我们对于数组的熟练度。
  • 13:00-13:40    刷题
  • 14:30-16:10    上计算机应用基础实验,主要讲了excel的相关知识。
  • 17:00-18:00    看指针的课程。
  • 19:00-20:00     看啊哈算法
  • 20:00-20:30     刷题
  • 20:30-22:00     听学长讲课
  • 23:00-00:00     刷题
  1. 今天学长讲的是我们字符串里面的G 题和I题
  •     其中G题的题目:

 而这道题我们可以发现一个规律,当n为多少上,我们这个方向就要转几次,而且第m次方向转变,其取余是相等的,例如第一次和第四次,他们的取余都是。所以我们可以定义一个数组变量来记录这个规律,在这儿学长定义的是int book[3][2]={(0,1),(1,-1),(-1,0)。然后应用循环再应用数组相关的知识来解出这道题,这里还有一个地方要注意就是最后输出的时候是数和数之间才有空格,还有最后一行也必须要换行(比较细节的地方)上学长的代码:

#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
const int N=1e3+10;
int a[N][N];
int book[3][2]= {{0,1},{1,-1},{-1,0}};
int main()
{ int n,t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        int x=1;
        int tx,ty;
        tx=ty=0;
        for(int i=0; i<n; i++)
        {
            int count=n-i;
            for(int j=0; j<count; j++)
            {
                tx+=book[i%3][0];
                ty+=book[i%3][1];
                a[tx][ty]=x++;
            }
        }
        for(int i=0; i<n; i++)
        {
            for(int j=1; j<=n-i; j++)
                if(j!=n)
                    printf("%d ",a[i][j]);
                else
                    printf("%d",a[i][j]);
            printf("\n");
        }
        printf("\n");
    }

}

在这里不得不说明,学长的这个代码的确比较方便简洁。

2:还有一个就是I题

这道题也是有他的巧妙之处 ,子串k的话就比第0个和第k个是否相等,第1个和第k+1个数是否相等.....以此类推。还有那个‘?’可以看除了?之外的1的总数和0的总数,比较其数量,再看‘?’变为0还是1。代码没有 自己想哦咳咳咳

  • 明天也加油
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烂尾歌·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值