除夕日的每日一题(字符个数统计,多数元素)

简介: 除夕日的每日一题(字符个数统计,多数元素)

字符个数统计_牛客题霸_牛客网 (nowcoder.com)

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int num=0,len,i,j,k,asc;
int tmp[128]={0};
char str[400];
int main()
{
    gets(str);//gets(str) 用于从标准输入读取一个字符串并存储在 str 中
    len=strlen(str);
    for(i=0;i<len;i++)
    {
        asc=(int)str[i];//将字符 str[i] 转换为其ASCII值,并存储在 asc 变量中
        if(tmp[asc]==0)
        {
            tmp[asc]=1;//这个if语句检查 tmp[asc] 是否为0,也就是检查这个ASCII值是否之前出现过。如果没有出现过(tmp[asc]==0),则将 tmp[asc] 设置为1,表示这个ASCII值已经出现过,并将 num 增加1
            num++;
        }
    }
    printf("%d",num);
    return 0;
}

169. 多数元素 - 力扣(LeetCode)

int cmp(const void*a,const void*b){
    return *(int*)a-*(int*)b;//这个返回值决定了 qsort 函数在排序时如何比较两个元素
} 
int majorityElement(int* nums, int numsSize){
    qsort(nums,numsSize,sizeof(int),cmp);//对数组 nums 进行排序
/*第一个参数 nums 是要排序的数组。
第二个参数 numsSize 是数组的大小。
第三个参数 sizeof(int) 是数组中每个元素的大小,这里是 int 类型的大小。
第四个参数 cmp 是比较函数,用于决定排序时如何比较两个元素*/
    return nums[numsSize/2];//这一行返回排序后数组的中间元素。由于 qsort 函数会将数组按升序排列,因此中间元素(索引为 numsSize / 2 的元素)将是多数元素。这里假设 numsSize 是一个奇数,因为当数组长度为偶数时,多数元素可能是两个中间元素的任何一个,这取决于这两个元素的相对频率。如果数组长度为奇数,则中间元素一定是多数元素
}

 

相关文章
|
8月前
|
算法 测试技术
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
|
8月前
【每日一题Day179】LC1157子数组中占绝大多数的元素 | 线段树
【每日一题Day179】LC1157子数组中占绝大多数的元素 | 线段树
57 0
|
算法
代码随想录Day21 回溯 LeetCodeT216 组合总和III LeetCode T17电话号码的字母总和
代码随想录Day21 回溯 LeetCodeT216 组合总和III LeetCode T17电话号码的字母总和
57 0
|
8月前
每日一题来啦!请查收~(至少是其他数字两倍,两个数组的交集)
每日一题来啦!请查收~(至少是其他数字两倍,两个数组的交集)
43 0
|
8月前
|
Serverless
每日一题(统计每个月兔子的总数,数列的和)
每日一题(统计每个月兔子的总数,数列的和)
50 0
|
8月前
|
算法 Java
每日一题《剑指offer》数组篇之数组中出现次数超过一半的数字
每日一题《剑指offer》数组篇之数组中出现次数超过一半的数字
77 0
每日一题《剑指offer》数组篇之数组中出现次数超过一半的数字
【力扣每日一题:2-19】1004. 最大连续1的个数 III【中等】
【力扣每日一题:2-19】1004. 最大连续1的个数 III【中等】
|
算法
【算法挨揍日记】day06——1004. 最大连续1的个数 III、1658. 将 x 减到 0 的最小操作数
1004. 最大连续1的个数 III 题目描述: 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。
417 1
|
算法 索引
代码随想录算法训练营第二天 |977.有序数组平方,209.长度最小的字数组,59.螺旋矩阵
代码随想录算法训练营第二天 |977.有序数组平方,209.长度最小的字数组,59.螺旋矩阵
|
算法
【算法挨揍日记】day05——209. 长度最小的子数组、3. 无重复字符的最长子串
题目描述: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
365 0

热门文章

最新文章