【每日刷题】Day75

【每日刷题】Day75

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 1833. 雪糕的最大数量 - 力扣(LeetCode)

2. 面试题 17.14. 最小K个数 - 力扣(LeetCode)

3. 面试题 01.01. 判定字符是否唯一 - 力扣(LeetCode)

1. 1833. 雪糕的最大数量 - 力扣(LeetCode)

//思路:记数排序。

//记数排序

void CountSort(int* arr,int size)

{

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

    int max = 0;

    int count = 0;

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

    {

        hash[arr[i]]+=1;

        if(arr[i]>max)

            max = arr[i];

    }

    for(int i = 1;i<=max;i++)

    {

        while(hash[i])

        {

            arr[count++] = i;

            hash[i]--;

        }

    }

}

int maxIceCream(int* costs, int costsSize, int coins)

{

    int ans = 0;

    CountSort(costs,costsSize);

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

    {

        if(coins-costs[i]>=0)

        {

            coins-=costs[i];

            ans++;

        }

        else

            break;

    }

    return ans;

}

2. 面试题 17.14. 最小K个数 - 力扣(LeetCode)

//思路: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 TopK(int* arr, int size, int k)

{

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

    {

        AdjustDown(arr, i, size);

    }

    while (k)//循环K次,每次将最小的数排入堆底

    {

        Swap(&arr[0], &arr[size - 1]);

        k--;

        size--;

        AdjustDown(arr, 0, size);

    }

}

int* smallestK(int* arr, int arrSize, int k, int* returnSize)

{

    TopK(arr,arrSize,k);

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

    int count = 0;

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

    {

        ans[count++] = arr[i];//拿取堆底的K个数

    }

    *returnSize = count;

    return ans;

}

3. 面试题 01.01. 判定字符是否唯一 - 力扣(LeetCode)

//思路①:哈希

bool isUnique(char* astr)

{

    int hash[27] = {0};

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

    {

        hash[astr[i]-'a']+=1;

    }

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

    {

        if(hash[i]>1)

            return false;

    }

    return true;

}

//思路②:排序+一次遍历。选用插入排序,不需要开辟额外的空间,效率也不错。

//插入排序

void Insert(char* arr)

{

    for(int i = 0;i<strlen(arr)-1;i++)

    {

        int end = i+1;

        char tmp = arr[end];

        while(end-1>=0)

        {

            if(arr[end-1]>tmp)

                arr[end] = arr[end-1];

            else

                break;

            end--;

        }

        arr[end] = tmp;

    }

}


 

bool isUnique(char* astr)

{

    if(!strlen(astr))

        return true;

    Insert(astr);

    for(int i = 0;i<strlen(astr)-1;i++)

    {

        if(astr[i]==astr[i+1])

            return false;

    }

    return true;

}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW电梯钢丝绳实时监测系统

电梯作为现代高层建筑中不可或缺的交通工具&#xff0c;其安全性直接影响到乘客的生命财产安全。电梯钢丝绳作为承载乘客与货物的关键部件&#xff0c;其健康状况尤为重要。传统的钢丝绳检测方法大多依赖于定期检查&#xff0c;无法实现实时监控&#xff0c;存在一定的安全隐患…

DPDK使用make编译并运行示例程序

环境&#xff1a; VMware Workstation 16 Pro 16.2.4 虚拟机系统&#xff1a;Centos 8 DPDK版本&#xff1a;stable-20.11.10 下载源码后&#xff0c;使用meson和ninja编译完成、配置并挂载大页、内核和VFIO设置完成&#xff0c;在dpdk源码目录下的build/…

安全技术和防火墙

安全技术和防火墙 安全技术 入侵检测系统&#xff1a;特点是不阻断网络访问&#xff0c;主要提供报警和事后监督&#xff0c;不主动介入&#xff0c;默默看着你&#xff08;监控&#xff09; 入侵防御系统&#xff1a;透明模式工作&#xff0c;数据包&#xff0c;网络监控&am…

Python22 Pandas库

Pandas 是一个Python数据分析库&#xff0c;它提供了高性能、易于使用的数据结构和数据分析工具。这个库适用于处理和分析输入数据&#xff0c;常见于统计分析、金融分析、社会科学研究等领域。 1.Pandas的核心功能 Pandas 库的核心功能包括&#xff1a; 1.数据结构&#xff…

YIA主题侧边栏如何添加3D旋转标签云?

WordPress站点侧边栏默认的标签云排版很一般&#xff0c;而3D旋转标签云就比较酷炫了。下面boke112百科就以YIA主题为例&#xff0c;跟大家说一说如何将默认的标签云修改成3D旋转标签云&#xff0c;具体步骤如下&#xff1a; 1、点此下载3d标签云文件&#xff08;密码&#xf…

ardupilot开发 --- 视觉伺服 篇

风驰电掣云端飘&#xff0c;相机无法对上焦 1.视觉伺服分类2.视觉伺服中的坐标系3.成像模型推导4.IBVS理论推导5.IBVS面临的挑战6.visp 实践参考文献 1.视觉伺服分类 控制量是在图像空间中推导得到还是在欧式空间中推导得到&#xff0c;视觉伺服又可以分类为基于位置(PBVS)和基…

我的3次软考高项通关之旅

1、缘起 初次听说软考是在2022年下半年了&#xff0c;软考的高级分为很多种&#xff0c;我起先想报考高级架构师&#xff0c;但是架构师一年才考一次&#xff0c;如果一次考不过得再准备一年&#xff0c;时间对我来说太长了&#xff0c;于是我决定报考一年考两次的高项。对于国…

python实现可视化大屏(django+pyechars)

1.实现效果图 2.对数据库进行迁移 python manage.py makemigrations python manage.py migrate 3.登录页面 {% load static%} <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"…

计算机图形学入门20:加速光线追踪

1.前言 前文说了Whitted-style光线追踪技术的原理以及光线与平面的交点计算方式&#xff0c;对于现在应用最广的Polygon Mesh显式曲面来说&#xff0c;一个复杂场景中的多边形面总数可能达到千万甚至亿万以上&#xff0c;如果每个像素发射光线都和场景中每个平面进行求交点计算…

关于WebSocket

WebSocket 与传统的 HTTP 协议对比 在实时通信领域&#xff0c;传统的 HTTP 协议存在以下一些问题&#xff1a; 频繁的请求和响应&#xff1a;每次通信都需要建立和关闭连接&#xff0c;带来额外的开销。高延迟&#xff1a;每次通信都需要经过多个网络层的传输&#xff0c;延…

Android焦点机制结合WMS

文章前提&#xff1a; 了解WMS基本作用了解window的概念&#xff0c;phoneWindow&#xff0c;rootViewImpl了解view的事件分发 开始&#xff1a; 讲三件事情&#xff1a; window的创建&#xff0c;更新焦点的更新事件的分发 Window的创建&#xff0c;更新&#xff1a; wi…

完整代码Python爬取豆瓣电影详情数据

完整代码Python爬取豆瓣电影详情数据 引言 在数据科学和网络爬虫的世界里&#xff0c;豆瓣电影是一个丰富的数据源。在本文中&#xff0c;我们将探讨如何使用Python语言&#xff0c;结合requests和pyquery库来爬取豆瓣电影的详情页面数据。我们将通过一个具体的电影详情页面作…

农村经济与科技杂志社农村经济与科技编辑部2024年第8期目录

视点 数字经济驱动农业产业链升级路径研究——以河南省为例 王媛媛; 1-4 城乡融合视角下农村集体产权制度改革研究 齐建丽; 4-7 农业生态系统结构美建设内涵及实现路径 张鹏程; 8-13《农村经济与科技》投稿&#xff1a;cnqikantg126.com 农户宅基地退出政策加权…

【C++】——二叉搜索树(详解)

一 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: ✨若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 ✨若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 …

在数字化转型中,数字孪生技术的作用和价值几何?

引言&#xff1a;随着全球化和市场竞争的加剧&#xff0c;企业需要通过数字化转型来提高生产效率、优化产品质量、降低成本&#xff0c;以增强自身竞争力。企业需要通过数字化转型更好地理解客户需求&#xff0c;提供个性化、定制化的产品和服务&#xff0c;从而满足客户的多样…

Axios-入门

介绍 Axios对原生Ajax进行了封装&#xff0c;简化书写&#xff0c;快速开发 官网&#xff1a;Axios中文文档 | Axios中文网 (axios-http.cn) 入门 1引入Axios的js文件 <script src"js/axios.js"></script> 2使用Axios发送请求&#xff0c;并获取响应…

链式队列算法库构建

学习贺利坚老师课程,构建链式队列算法库 数据结构之自建算法库——链队&#xff08;链式队列&#xff09;_数据结构函数链队列的算法框架有哪些-CSDN博客文章浏览阅读6.2k次&#xff0c;点赞3次&#xff0c;收藏9次。本文针对数据结构基础系列网络课程(3)&#xff1a;栈和队列…

在win7系统电脑安装node16的版本(已成功安装运行)

很多银行的项目行方都要求内网开发&#xff0c;但是我遇到的几个银行基本都是win7系统的电脑&#xff0c;而前端的项目又是需要高版本的node才能跑起来&#xff0c;所有就记录此解决方案文章&#xff01; 这是下载node安装包的地址&#xff1a;Index of /dist/ 在这里先下载自…

树形结构的勾选、取消勾选、删除、清空已选、回显、禁用

树形结构的勾选、取消勾选、删除、清空已选、回显、禁用 基本页面&#xff1a; 分为上传文件和编辑的页面 代码实现要点&#xff1a; 上传文件页面&#xff1a; 点开选择范围弹窗&#xff0c;三个radio单选框都为可选状态&#xff0c;默认显示的是第一个单选框&#xff08;按…

晶方科技:台积电吃饱,封装迎春?

半导体产业链掀起涨价潮&#xff0c;先进封装迎接利好。 这里我们来聊国内先进封装企业——晶方科技。 近期&#xff0c;由于产能供不应求&#xff0c;台积电决定上调先进封装产品价格&#xff0c;还表示订单已经排到2026年。 大哥吃不下了&#xff0c;剩下的订单全都是空间。…