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

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

字符个数统计_牛客题霸_牛客网 (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 是一个奇数,因为当数组长度为偶数时,多数元素可能是两个中间元素的任何一个,这取决于这两个元素的相对频率。如果数组长度为奇数,则中间元素一定是多数元素
}

 

相关文章
|
2月前
|
算法 测试技术
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
|
5月前
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
18 0
|
2月前
每日一题来啦!请查收~(至少是其他数字两倍,两个数组的交集)
每日一题来啦!请查收~(至少是其他数字两倍,两个数组的交集)
13 0
|
5月前
|
算法 Java
每日一题《剑指offer》数组篇之数组中出现次数超过一半的数字
每日一题《剑指offer》数组篇之数组中出现次数超过一半的数字
45 0
每日一题《剑指offer》数组篇之数组中出现次数超过一半的数字
|
7月前
|
算法
【算法挨揍日记】day05——209. 长度最小的子数组、3. 无重复字符的最长子串
题目描述: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
335 0
|
7月前
|
算法
【算法挨揍日记】day06——1004. 最大连续1的个数 III、1658. 将 x 减到 0 的最小操作数
1004. 最大连续1的个数 III 题目描述: 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。
370 1
|
10月前
|
安全 Cloud Native
【刷题日记】357. 统计各位数字都不同的数字个数
本次刷题日记的第 30 篇,力扣题为:357. 统计各位数字都不同的数字个数 ,中等
|
10月前
|
机器学习/深度学习 Cloud Native
【刷题日记】2044. 统计按位或能得到最大值的子集数目
本次刷题日记的第 8 篇,力扣题为:2044. 统计按位或能得到最大值的子集数目 ,中等
|
11月前
|
算法 索引
【基础算法】浅浅刷个小题 # 搜索插入位置 # 各位相加 # 寻找数组的中心下标 #
【基础算法】浅浅刷个小题 # 搜索插入位置 # 各位相加 # 寻找数组的中心下标 #
|
12月前
|
Python
Python|Leetcode《846》《1296》|一手顺子 划分数组为连续数字的集合
Python|Leetcode《846》《1296》|一手顺子 划分数组为连续数字的集合