跟着英雄刷算法-计数法

2023-10-31

博主是一个刚刚学校C语言和算法的小白,算法这一块完全是空白。偶然了解到了英雄大佬和万人社区。以后博主有时间会分享跟着英雄大佬学习到的东西和平时练习。

引例

1.IQ测试:iq表示统计智商的数据列表,然后统计智商大于k的人数。

int func(int*iq,int size)//size表示一共有多少数据
{
    int i=0;
    int count=0;
    for(i=0;i<size;i++)
    {
           if(iq[i]>k);//k为想要统计的IQ值
           count++;
    }
    return count;
}

2.统计所有iq值的分布

int func(int*iq,int size,int sizemax)//sizemax为所有智商中的最大数
{
    int i=0;
    int*count=(int*)malloc(sizeof(int)*(sizemax+1))//sizeof(int)*(sizemax+1)计算需要空间的长度。
    memset(count,0,sizeof(int)*(sizemax+1));//初始化所有iq值学生的数量为0;
    for(i=0;i<size;i++)
    	count[iq[i]]++;//生成计数器
   }

题目一:

题目链接:https://leetcode-cn.com/problems/sum-of-unique-elements/

int sumOfUnique(int* nums, int numsSize)
{
    int i=0;
    int sum=0;
    int count[101]={0};
    for(i=0;i<numsSize;i++)
    {
        count[nums[i]]++;
    }
    for(i=0;i<numsSize;i++)
    {
    if(count[nums[i]]==1)
    {
        sum+=nums[i];
    }
    }
    return sum;
}

题目二:

 题目链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string/

int firstUniqChar(char * s)
{
    int count[26]={0};
    int i=0;
    int az=strlen(s);
    if(az==0)
        return -1;
    for(i=0;i<az;i++)
        count[s[i]-'a']++;
    for(i=0;i<az;i++)
    {
        if(count[s[i]-'a']==1)
            return i;
    }
    return -1;
}

题目3:

题目链接:https://leetcode-cn.com/problems/check-if-all-characters-have-equal-number-of-occurrences/

bool areOccurrencesEqual(char * s)
{
    int count[26]={0};
    int az=strlen(s);
    int i=0;
    for(i=0;i<az;i++)
        count[s[i]-'a']++;
    for(i=1;i<26;i++)
    {
        if(count[0]!=count[i])
            return false;
    }
    return true;
}

 题目4:

题目链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/

int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize)
{
    int*count=(int*)malloc(sizeof(int)*numsSize);
    memset(count,0,sizeof(int)*numsSize);
    *returnSize=0;
    int i=0;
    for(i=0;i<numsSize;i++)
    {
        count[nums[i]-1]++;
    }
    for(i=0;i<numsSize;i++)
    {
        if(count[i]==0)
        {
            count[*returnSize]=i+1;
            *returnSize+=1;
        }
    }
       return count;
}

题目5:

题目链接:https://leetcode-cn.com/problems/number-of-good-pairs/

int numIdenticalPairs(int* nums, int numsSize)
{
    int i=0;
    int j=0;
    int count=0;
    for(i=0;i<numsSize;i++)
    {
        for(j=i+1;j<numsSize;j++)
            {
                if(nums[i]==nums[j])
                    count++;
            }
    }
    return count;
}

题目6:

题目链接::https://leetcode-cn.com/problems/count-good-meals/

这个题目的解法有一点妙,所以学习了英雄大佬的解法

int countPairs(int* deliciousness, int deliciousnessSize)
{
    int count[(1<<21)+1];
    memset(count,0,sizeof(count));
    int num=0;
    int ans=0;
    int sum=1;
    for(num=0;num<deliciousnessSize;num++)
    {
        for(sum=1;sum<=(1<<21);sum=sum*2)
        {
            int other=sum-deliciousness[num];
            if(other<0)
            {
                continue;
            }
            ans=ans+count[other];
            ans=ans%100000007;
        }
        count[deliciousness[num]]++;
    }
    return ans;
}

今天的日期计算明天再发,今天课有点多...........

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跟着英雄刷算法-计数法 的相关文章

随机推荐

  • org.aspectj.lang.ProceedingJoinPoint获取返回类型、参数名称/值等

    1 参数值 Object args joinPoint getArgs 2 参数名称 Signature signature joinPoint getSignature if signature instanceof MethodSign
  • 游戏开发计算机图形学基础知识系列:入门书籍选择(还待持续检验)

    游戏开发计算机图形学基础知识系列 入门书籍选择 还待持续检验 声明 未经作者允许 严禁商用 转载请标明出处和来源 谢谢 笔者入门时 看过一个网址和四本书的前几章 因此来谈下图形学入门时选择书籍的感悟 图形学入门时 最烦的是编译库相关文件 如
  • 解决百度地图开发问题:java.lang.UnsatisfiedLinkError:No implementation found for

    看到一些开发者卡在这个问题上不得解 大部分是因为so文件没有正常解析导致的 以下为解决方法 首先拷贝几个不同的装so文件的文件夹到 项目名 app libs 下 也就是和jar包同一目录下 打开项目后 编写build gradle文件 在a
  • 数据库连接池数量配置公式

    数据库连接池数量配置公式 前言 公式 我的理解 前言 这里没有说明具体那种数据库那种连接池是因为这个公式适合大多数的各种数据库和大多数连接池 服务器连接池的数量配置很重要 太少了DB服务器工作不饱和 客户端的事务在积压 太多了服务器又响应不
  • C#应用程序调用java jar包中的方法

    1 下载ikvm8 解压到C Program Files 2 C Program Files ikvm 7 2 4630 5 bin配置在系统环境变量path中 3 maven项目打包 执行如下命令 mvn clean mvn instal
  • 数据清洗小记(11):Kettle_利用设置变量实现数据增量(小例)

    背景 利用kettle工具 完成某表的增量工作 解决 利用模块完成即可 如下简图 实验 先手工准备一个实验环境 准备基本完成如下效果 select t t rowid from EMP ETL t select max hiredate m
  • 【Linux】C语言动态库和静态库的制作和使用

    静态库 mylib c include
  • Field.get(null)

    1 field get null public static void main String args Field field MainTest class getDeclaredField name static field setAc
  • 三层架构与MVC的区别

    本篇博客是从网上找得各种资料 一再说说三层架构和MVC的区别 http baike baidu com view 687468 htm 三层架构与MVC的区别 MVC 模型Model 视图View 控制器Controller 是一种设计模式
  • 如何自学web安全(详细路径)

    直入主题 不要嫌墨迹 看完对你有帮助 web基础知识 web安全 意为web的安全 web即万维网 是由超文本和HTTP构造 就是我们常说的网站那么要学习web安全 必要先要了解web的知识 不然何谈渗透 网站是由程序 空间 域名三大部分组
  • Leetcode437.路径总和 III——利用前缀和的回溯算法

    文章目录 引入 前缀和题解 之前在 5337 每个元音包含偶数次的最长子字符串 状态压缩DP一文中介绍过状态压缩DP 里面有个思想其实也是利用了前缀和 和本文很相似 引入 本题 如下 437 路径总和 III 给定一个二叉树 它的每个结点都
  • logging 日志表的设计

    Netkiller MySQL 手札 MySQL MariaDB Mr Neo Chan 陈景峰 BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地518131 86 13113668890 86 755 29812080
  • 解决PicGo上传图片失败错误信息和上传图片失败包404错误以及Typora怎么一键导入本地图片到PicGo

    前言 解决PicGo上传图片失败错误信息和上传图片失败包404错误以及Typora怎么一键导入本地图片到PicGo 个人主页 尘觉主页 个人简介 大家好 我是尘觉 希望我的文章可以帮助到大家 您的满意是我的动力 在csdn获奖荣誉 csdn
  • Selenium WebDriver基础操作教程

    最近几个月在研究Selenium WebDriver 简单总结一下我的入坑记 一 在Java 环境中的安装 1 选取合适的浏览器 在配置Selenium的WebDriver前首先先选定测试的浏览器 IE Chrome Firefox等主流浏
  • Python代码:批量将BMP图片格式转换为JPG图片格式

    文章与视频资源多平台更新 微信公众号 知乎 B站 头条 AI研习图书馆 深度学习 大数据 IT编程知识与资源分享 欢迎关注 共同进步 1 介绍 Python代码 批量将BMP图片格式转换为JPG图片格式 即BMP转JPG格式 2 Pytho
  • vite 项目初始化(ts)

    为什么要写这篇文章 vite 已经出来这么久了 文档也看了一遍了 都写了啥 该自己动手了 在不动手就废了 再不学就要被淘汰了 不想变成废材 vite 初始化 为什么要写这篇文章 一 安装 vite 二 搭建你的 vite 项目 1 vite
  • Windows下Pentaho Report Designer之运行配置

    01 前言 偶然搜了一下报表工具 看到Pentaho的Report Designer在列 自不必说 折腾一番 试试好用否 然下完之后却怎么也运行不起来 而Java环境是有的 无奈 联想到之前刚要用Data Integration时也碰到过类
  • R语言绘制好看的饼图、空心饼图

    饼图或者说扇形图在统计分析结果展示中非常常用 R语言自带做饼图的函数pie 做起来非常简单 只需提供比例 样品名称即可 构建数据 ratio lt c 24 2 21 9 7 6 5 2 4 3 3 2 2 6 2 6 1 8 1 8 24
  • Spring之面向切面编程(AOP)

    1 面向切面编程 2 AOP核心概念 3 AOP的实现 4 Spring 对AOP支持 4 1 支持 Aspect 4 2 声明一个切面 4 3 声明一个切入点 4 4 声明增强 5 用AOP实现日志拦截 5 1 一般的实现 5 2 仅拦截
  • 跟着英雄刷算法-计数法

    博主是一个刚刚学校C语言和算法的小白 算法这一块完全是空白 偶然了解到了英雄大佬和万人社区 以后博主有时间会分享跟着英雄大佬学习到的东西和平时练习 引例 1 IQ测试 iq表示统计智商的数据列表 然后统计智商大于k的人数 int func