首页 > 其他分享 >2024年3月10号题解

2024年3月10号题解

时间:2024-03-10 20:11:07浏览次数:21  
标签:10 int 题解 2024 数组 统计

299.猜数游戏

解题思路

  1. 对出现的数字在两个数组中进行统计
  2. 先计算公牛的个数,如果有那么统计的数字的数量对应减一,因为统计是用来算奶牛的数量的
  3. 遍历统计数组,奶牛的数量加上两个数组中最小的值,因为是匹配,所以不可能多出来的也可以匹配,所以是加上其中的最小值

代码实现

int min(int a, int b) {
    return a <= b? a: b;
}

char* getHint(char* secret, char* guess) {
    char* ans = (char*)malloc(sizeof(char) * 1001);
    int res1 = 0;
    int res2 = 0;
    int a[10] = {0};
    int b[10] = {0};

    for (int i = 0; secret[i]; i ++) {
        a[secret[i] - '0'] ++;
        b[guess[i] - '0'] ++;
        if (secret[i] == guess[i]) {
            res1 ++;
            a[secret[i] - '0'] --;
            b[guess[i] - '0'] --;
        }
    }

    for (int i = 0; i < 10; i ++) {
        res2 += min(a[i], b[i]);
    }

    int i = 0;

    if (res1) {
        int a[1001] = {0};
        int size = 0;

        while(res1) {
            a[size ++] = res1 % 10;
            res1 /= 10;
        }

        while(size) {
            ans[i ++] = a[--size] + '0';
        }
    }
    else {
        ans[i ++] = '0'; 
    }

    ans[i ++] = 'A';

    if (res2) {
        int a[1001] = {0};
        int size = 0;

        while(res2) {
            a[size ++] = res2 % 10;
            res2 /= 10;
        }

        while(size) {
            ans[i ++] = a[--size] + '0';
        }
    }
    else {
        ans[i ++] = '0'; 
    }

    ans[i ++] = 'B';
    ans[i ++] = 0;


    return ans;
} 

 

标签:10,int,题解,2024,数组,统计
From: https://www.cnblogs.com/lwj1239/p/18064713

相关文章

  • 2024.3 记录
    3.5vp了一场edu,过了四题,但是D题有*2100,自我感觉还行。这里写一下后三题的题解。CF1913DArrayCollapse数字互不相同,先上个单调栈求出每个点的支配区间。考虑dp,\(f_i\)表示只考虑\([1,i]\)时的方案数,找到最靠左的\(j\)满足\([j,i]\)间不存在小于\(p_i\)的数,那......
  • 常见问题解决 --- 海康OpenAPI安全认证库的demo运行报错
    我要开发一个对接海康isc平台的oss的api,发现需要有海康登录库和ak、sk的配合才能完成。在海康官方下载OpenAPI安全认证库(JAVA)V1.1.11,解压后用idea打开demo发现一对报错。解决办法:1.修复基本的错误。比如包名报错,应该是  packagega; 2.修复maven依赖导入报错。首先是artem......
  • 2024 冬日绘版游寄
    散户。鸽子,测试Django绘板的时候想起来补(公测1Day2看到谷群说绘板开了,临时入场,用python写了个脚本,用自己大号+小号2个token跑了个纯黑的填涂测试,位置大概在贝瓦上面,图找不到了。公测2脚本基本功能写好了,跑了个uid测试,没啥问题,但是getboard始终调不对,然......
  • THUPC2024 游寄
    哎打着玩,队友是Frank2010和aeiouaoeiu,队名是⁧随⁧一⁧个⁧Day0学了一下午KMP,总算搞懂了。Day1手机没电关机了,闹钟没了,问题不大,10am醒了。11:00开了,土豆炸了。11:02进去了,开M。哦哦哦,我是AI。11:07aeiouaoeiu把M过了11:10开A,排个序然后乱搞,发现p......
  • [省选联考 2024] 重塑时光 题解
    考虑这题是什么意思,其实就是让你把DAG划分成若干个集合,点之间连边转化为对应集合之间连边以后图仍然是一个DAG,然后需要知道划分成了多少个集合,每种集合的个数求出方案数,乘上对应的系数并求和。系数是很显然的,即:\[{k+1\choosei}\frac{i!k!}{n!\prod_{i=1}^k(n+i)}\]考虑怎......
  • 10
    《程序是怎样跑起来的》第十章读后感通过了解汇编语言的作用,它是一种低级语言,直接与计算机硬件交互,可以实现对计算机硬件的精细控制。接着,作者介绍了汇编语言的基本语法,包括指令、操作数、寄存器等。此外,还通过一个简单的例子,演示了如何用汇编语言来实现一个加法运算。通过这个......
  • ARM MMU和cache简介 --20240310
    参考博客:与程序员相关的CPU缓存知识MMU:memorymanagementunit,称为内存管理单元,或者是存储器管理单元,MMU是硬件设备,它被保存在主存(mainmemory)的两级也表控制,并且是由协处理器CP15的寄存器1的M位来决定是enabled还是disabled。MMU的主要作用是负责从CPU内核发出的虚拟地址到物......
  • cache操作函数 --20240310
    Baremetal不讨论多级cache的情况下,裸驱两种关于dcache的操作:flush_dcache_all();//将cache里面的东西刷入内存invalidate_dcache_all();//将数据缓存中的所有内容无效化(invalidate)。该指令一般用于确保缓存中的数据与主内存中的数据同步flush_dcache_all()函数通常在嵌入......
  • [省选联考 2024] 迷宫守卫 题解
    首先Bob肯定是贪心操作,即如果能操作且右儿子中第一个数小于左儿子中的第一个数就一定操作(因为排列中的数两两不同),否则不操作。考虑一个dp,即\(f_{i,j}\)表示\(i\)中的子树操作完以后使得第一个数为\(j\)的最小代价。发现总状态数是\(\mathcalO(2^nn)\)的,对于一个点的......
  • [省选联考 2024] 魔法手杖 题解
    首先有个很显然的\(\mathcalO(nk^2)\)的做法,即二分答案,然后trie树上判断。对于trie树上一颗子树内的判定,考虑当前二分的\(\text{mid}\)这一位是\(1\)还是\(0\)以及\(x\)这一位填什么。对于\(1\)的情况,如果填\(0\),那么右儿子仍然合法,左儿子中的数必须要放到......