【每日刷题】Day68

【每日刷题】Day68

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 451. 根据字符出现频率排序 - 力扣(LeetCode)

2. 最小的K个数_牛客题霸_牛客网 (nowcoder.com)

3.  442. 数组中重复的数据 - 力扣(LeetCode)

1. 451. 根据字符出现频率排序 - 力扣(LeetCode)

//思路:记数排序。

char * frequencySort(char * s)

{

    int* hash = (int*)calloc(124,sizeof(int));

    for(int i = 0;i<strlen(s);i++)

    {

        hash[s[i]]+=1;//记录字符出现的次数

    }

    char* ans = (char*)malloc(sizeof(char)*(strlen(s)+1 ));

    int count = 0;

    while(count<strlen(s))

    {

        int max = 0;

        for(int i = 0;i<124;i++)

        {

            if(hash[i]>hash[max])//找到出现次数最多的先放进数组中

                max = i;

        }

        while(hash[max])

        {

            ans[count++] = max;

            hash[max]--;

        }

    }

    ans[count] = '\0';

    return ans;

}

2. 最小的K个数_牛客题霸_牛客网 (nowcoder.com)

//TopK问题。思路:堆排序。建立小堆,通过与堆底数据交换的方式将最小的K个数换到堆底。

void Swap(int* x,int* y)

{

    int tmp = *x;

    *x = *y;

    *y = tmp;

}


//向下调整建小堆

void AdjustDown(int* arr,int parents,int size)

{

    int child = parents*2+1;

    while(child<size)

    {

        if(child+1<size&&arr[child+1]<arr[child])

            child++;

        if(arr[child]<arr[parents])

            Swap(&arr[child],&arr[parents]);

        else

            break;

        parents = child;

        child = parents*2+1;

    }

}


 

void HeapSort(int* arr,int size,int k)

{

    for(int i = (size-2)/2;i>=0;i--)

    {

//向下调整建小堆

        AdjustDown(arr, i, size);

    }

    while(k)

    {

        Swap(&arr[0],&arr[size-1]);//将堆顶(最小的数)与堆底(最大的数交换)

        size--;

        k--;

        AdjustDown(arr, 0, size);

    }

}

int* GetLeastNumbers_Solution(int* input, int inputLen, int k, int* returnSize )

{

    int* ans = (int*)malloc(sizeof(int)*(k+1));

    int count = 0;

    HeapSort(input,inputLen,k);

    for(int i = inputLen-1;i>=inputLen-k;i--)

    {

        ans[count++] = input[i];//取数组后K个数,即为最小的K个数

    }

    *returnSize = count;

    return ans;

}

3.  442. 数组中重复的数据 - 力扣(LeetCode)

//思路:哈希表。

int* findDuplicates(int* nums, int numsSize, int* returnSize)

{

    int hash[100001] = {0};

    for(int i = 0;i<numsSize;i++)

    {

        hash[nums[i]]+=1;

    }

    int* ans = (int*)malloc(sizeof(int)*50001);

    int count = 0;

    for(int i = 0;i<100001;i++)

    {

        if(hash[i]==2)

            ans[count++] = i;

    }

    *returnSize = count;

    return ans;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/721572.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI绘画】新手小白看这篇就够啦!国产PS AI插件超好入门!

随着人工智能技术的飞速发展&#xff0c;Photoshop作为设计师们不可或缺的工具&#xff0c;也在不断地融入AI技术&#xff0c;以提升设计效率和效果。最近米兔用了一款AI绘画软件StartAI&#xff0c;被其强大的功能和易用性经验到了&#xff0c;下面跟大家详细分享一下这款ps插…

建筑工地通常那种考勤机好用?

建筑工地通常那种考勤机好用&#xff1f; 大量从乡村前往城市的务工者&#xff0c;所从事的多为建筑工程类行业&#xff0c;此种行业对学历与技能的要求不高&#xff0c;而工资水平倒也尚可&#xff0c;正因如此才吸引了众多劳动者。那要怎样管好工地上的项目呢&#xff1f;首要…

PTrade量化策略API说明—PTrade如何获取分时成交行情:get_tick_direction

get_tick_direction – 获取分时成交行情 get_tick_direction(symbolsNone, query_date0, start_pos0, search_direction1, data_count50) 使用场景 该函数在交易模块可用 接口说明 该接口用于获取当日分时成交行情数据。 注意事项&#xff1a; 1、沪深市场都有分时成交数…

移植案例与原理 - utils子系统之KV存储部件 (3)

5、KV存储部件对应UtilsFile接口部分的代码 分析下KV存储部件对应UtilsFile接口部分的代码。我们知道对外接口有设置键值UtilsSetValue、获取键值UtilsGetValue、删除键值UtilsDeleteValue和清除缓存ClearKVCache。我们先看看内部接口&#xff0c;这些接口调用的全部是UtilsFi…

对SpringBoot入门案例的关键点

我们SpringBoot的入门案例中&#xff0c;即做了两个重要工作&#xff1a; 配置pom.xml文件写启动类 1.pom.xml依赖配置文件 ①帮助我们进行版本控制的父模块 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

高危CNVD|用友-U8-OA基础版存在文件上传漏洞getshell

漏洞描述 用友U8-OA基础版存在任意文件覆盖写入漏洞 漏洞说明&#xff1a;用友U8-OA基础版因为代码问题&#xff0c;存在任意文件覆盖写入漏洞&#xff0c;可以覆盖写入系统中存在的文件&#xff0c;可getshell。FOFA指纹: body"致远" && "/yyoa/&quo…

day03 子查询分页存储过程

目录 子查询 介绍&#xff1a; 子查询规范 子查询分类 模糊查询 注意事项和技巧 分页查询 作用&#xff1a; LIMIT关键字使用 指定初始位置 不指定初始位置 分页 视图 介绍&#xff1a; 优点 创建视图 嵌套视图 删除视图 修改视图 更新视图 存储过程 介绍…

设计模式-结构型-06-桥接模式

1、传统方式解决手机操作问题 现在对不同手机类型的不同品牌实现操作编程&#xff08;比如&#xff1a;开机、关机、上网&#xff0c;打电话等&#xff09;&#xff0c;如图&#xff1a; UML 类图 问题分析 扩展性问题&#xff08;类爆炸&#xff09;&#xff1a;如果我们再…

yt-dlp:强大的跨平台视频下载器

一、引言 在当今数字时代&#xff0c;视频已成为我们获取信息和娱乐的重要途径。然而&#xff0c;由于版权和网络限制&#xff0c;我们常常无法直接在本地保存我们喜爱的视频。幸运的是&#xff0c;有一个名为yt-dlp的命令行程序&#xff0c;它可以帮助我们从YouTube.com和其他…

RK3588/算能/Nvidia智能盒子:加速山西铝业智能化转型,保障矿业皮带传输安全稳定运行

近年来&#xff0c;各类矿山事故频发&#xff0c;暴露出传统矿业各环节的诸多问题。随着全国重点产煤省份相继出台相关政策文件&#xff0c;矿业智能化建设进程加快。皮带传输系统升级是矿业智能化的一个重要环节&#xff0c;同时也是降本增效的一个重点方向。 △各省份智能矿山…

CCAA:认证通用基础(国家质量基础设施(NQI))的相关概念

3.国家质量基础设施NQI&#xff09;的相关概念 一、国家质量基础设施 国家质量基础设施(NQI&#xff0c;NationalQualityInfrastructure):国家建立和执行标准、计量认证认可、检验检测等所需的质量体制框架的统称&#xff0c;包括法规体系、管理体系、技术体系等质量基础设施与…

猫头虎 分享已解决Bug || `Uncaught ReferenceError: x is not defined`✨

猫头虎 分享已解决Bug || Uncaught ReferenceError: x is not defined&#x1f680;✨ 摘要 ✨&#x1f4a1; 大家好&#xff0c;我是猫头虎&#xff0c;一名全栈软件工程师&#xff0c;同时也是一位科技自媒体博主。今天我要和大家分享一些前端开发过程中常见的Bug以及详细的…

国内能用的ai聊天软件有哪些?这三款还不错

国内能用的ai聊天软件有哪些&#xff1f;在人工智能飞速发展的今天&#xff0c;AI聊天软件已经成为我们日常生活和工作中不可或缺的一部分。它们不仅可以帮助我们快速获取信息&#xff0c;还能提供有趣的对话体验。今天&#xff0c;就为大家推荐三款国内能用的AI聊天软件&#…

分布式事务msb

分布式事务使用场景 添加商品看库存够不够。库存扣减&#xff0c;扣完给订单服务一个响应&#xff0c;如果新加商品出问题了怎么回滚。 分布式事务概念 XA规范 XA规范&#xff1a;总之一句话&#xff1a; 就X/Open DTP 定义的 事务协调者与数据库之间的接口规范&#xff08;即…

港硕上岸鹅厂算法岗,谈谈感受和心得!

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、算法项目落地经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 总结链接如…

目标检测—Fast RCNN

介绍Fast R-CNN之前先简单回顾一下R-CNN和SPP-net R-CNN&#xff08;Regions with CNN&#xff09; affine image wraping 解析 Bounding Box Regression&#xff08;边界框回归&#xff09; 如何回归&#xff1f; 问题1&#xff1a;为什么要使用相对坐标差&#xff1f; …

数据库系统概述选择简答概念复习

目录 一、组成数据库的三要素 二、关系数据库特点 三、三级模式、二级映像 四、视图和审计提供的安全性 审计(Auditing) 视图(Views) 五、grant、revoke GRANT REVOKE 六、三种完整性 实体完整性 参照完整性 自定义完整性 七、事务的特性ACDI 原子性(Atomicity)…

A.P.穆勒-马士基将作为银牌赞助商出席2024中国汽车供应链降碳和可持续国际峰会

作为一家综合性集装箱物流公司&#xff0c;A.P.穆勒-马士基致力于连接和简化我们客户的供应链。作为物流服务领域的全球领导者&#xff0c;公司拥有100,000多家客户&#xff0c;业务遍及130多个国家&#xff0c;拥有约80,000名员工。A.P.穆勒-马士基致力于通过新技术、新船舶和…

c++实现二叉搜索树(下)

好久不见啊&#xff0c;baby们&#xff0c;小吉我又回归了&#xff0c;发完这一篇小吉将会有两周时间不会更新blog了&#xff08;sorry&#xff09;&#xff0c;在小吉没有发blog的日子里大家也要好好学习数据结构与算法哦&#xff0c;还有就是别忘了小吉我❤️  这篇博客是二…

MySQL从5.7升级到8.0步骤及其问题

MySQL从5.7升级到8.0步骤及其问题 前言 本文源自微博客&#xff0c;且以获得授权&#xff0c;请尊重版权。 一、需求背景 Docker环境下&#xff0c;MySQL5.7升级到8.0&#xff0c;数据迁移时使用的是mysqldump方式迁移。 二、迁移步骤 数据备份&#xff1a; docker exec -i 1…