【每日刷题】Day76

【每日刷题】Day76

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 561. 数组拆分 - 力扣(LeetCode)

2. 删除有序链表中重复的元素-II_牛客题霸_牛客网 (nowcoder.com)

3. 645. 错误的集合 - 力扣(LeetCode)

1. 561. 数组拆分 - 力扣(LeetCode)

//思路:排序。我们仔细研究题目的要求不难发现,想要满足要求,只需要将这n对数据中的每一对数据差值的绝对值最小,然后加上每一对数据中的较小值即可。

//记数排序

void CountSort(int* arr,int size)

{

    int max = -100000;

    int min = 100000;

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

    {

        if(arr[i]>max)

            max = arr[i];

        if(arr[i]<min)

            min = arr[i];

    }

    int* hash = (int*)calloc(max-min+1,sizeof(int));

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

    {

        hash[arr[i]-min]+=1;

    }

    int count = 0;

    for(int i = 0;i<max-min+1;i++)

    {

        while(hash[i])

        {

            arr[count++] = i+min;

            hash[i]--;

        }

    }

}


 

int arrayPairSum(int* nums, int numsSize)

{

    int ans = 0;

    CountSort(nums,numsSize);

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

    {

        ans+=nums[i];

    }

    return ans;

}

2. 删除有序链表中重复的元素-II_牛客题霸_牛客网 (nowcoder.com)

//思路:哈希记数。遍历链表,将链表中所有元素的出现次数记录,随后遍历哈希数组,只将val为1的key放入链表中。

typedef struct ListNode LN;

struct ListNode* deleteDuplicates(struct ListNode* head )

{

    if(!head)

        return NULL;

    LN* pmove = head;

    int max = -100000000;

    int min = 1001;

    while(pmove)//求链表的最大最小值,以应对key为负数的情况

    {

        if(pmove->val>max)

            max = pmove->val;

        if(pmove->val<min)

            min = pmove->val;

        pmove = pmove->next;

    }

    int* hash = (int*)calloc(max-min+1,sizeof(int));

    pmove = head;

    while(pmove)

    {

        hash[pmove->val-min]+=1;//将pmove->val - min使负数变为正数(下标不能为负数)

        pmove = pmove->next;

    }

    pmove = head;

    for(int i = 0;i<max-min+1;i++)

    {

        if(hash[i]==1)//只保留出现一次的元素

        {

            pmove->val = i+min;

            pmove = pmove->next;

        }

    }

    if(pmove==head)

        return NULL;

    LN* pmove1 = head;

    while(pmove1->next!=pmove)//在原链表的基础上改动,不额外创建链表。

    {

        pmove1 = pmove1->next;

    }

    pmove1->next = NULL;

    return head;

}

3. 645. 错误的集合 - 力扣(LeetCode)

//思路:哈希记数。

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

{

    int* ans = (int*)calloc(2,sizeof(int));

    int* hash = (int*)calloc(numsSize+1,sizeof(int));

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

    {

        hash[nums[i]]+=1;//记数

    }

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

    {

        if(hash[i]==2)//重复出现的元素

            ans[0] = i;

        if(!hash[i])//未出现的元素

            ans[1] = i;

        if(ans[0]&&ans[1])

            break;

    }

    *returnSize = 2;

    return ans;

}

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

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

相关文章

论文学习_基于导向式模糊测试的二进制程序漏洞验证方法

1. 引言 研究背景及现存问题:基于代码相似性比较的漏洞检测方法属于静态分析方法,不可避免地存在误报率高的问题,对静态检测方法得到的疑似漏洞代码进行人工分析存在工作量大, 效率低的问题。解决该问题的有效的方案之一是使用导向式模糊测试方法,生成能够执行到疑似漏洞…

【FFmpeg】avformat_open_input函数

【FFmpeg】avformat_open_input函数 1.avformat_open_input1.1 初始化输入格式&#xff08;init_input&#xff09;1.1.1 文件路径判断格式&#xff08;av_probe_input_format2&#xff09;1.1.1.1 格式探测&#xff08;read_probe&#xff09;1.1.1.2 扩展匹配检查&#xff08…

Pyecharts进阶篇

欢迎观看Pyecharts部分&#xff0c;上一节&#xff1a;Pyecharts入门-CSDN博客 本章节&#xff0c;我们会使用全国空气质量数据呈现中国地图&#xff0c;还会使用全球各个国家或地区GDP数据绘制全球地图。 全国空气质量分布图 数据准备 import pandas as pd import numpy a…

美国唱片公司以侵犯版权为由起诉人工智能音乐生成器

美国唱片公司以侵犯版权为由起诉人工智能音乐生成器 全球最大的几家唱片公司正联手将两家著名的人工智能音乐制作公司告上法庭&#xff0c;此举正值生成式人工智能继续渗透到音乐行业之际。 环球音乐集团、索尼音乐娱乐和华纳音乐集团等公司周一对Suno和音频制造商Uncharted …

树莓派4B_OpenCv学习笔记13:OpenCv颜色追踪_程序手动调试HSV色彩空间_检测圆

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; OpenCv颜色追踪_程序手动调试HSV色彩空间_检测灰度图中的…

AI新热点:边云协同:大模型结合小模型(大小模型联合推理)

背景 AI模型规模不断剧增已是不争的事实。模型参数增长至百亿、千亿、万亿甚至十万亿&#xff0c;大模型在算力推动下演变为人工智能领域一场新的“军备竞赛”。 这种竞赛很大程度推动了人工智能的发展&#xff0c;但随之而来的能耗和端侧部署问题限制了大模型应用落地。2022…

4. ansible角色

ansible角色 一、ansible角色 role1、创建角色2、角色目录结构 二、部署zabbix-agent1、创建角色2、编写剧本3、执行角色中的操作 三、部署分布式zabbix1、zabbixproxy角色结构2、zabbixProxy task/main.yml3、zabbixAgentByProxy角色结构4、zabbixAgentByProxy tasks/main.yml…

非极大值抑制算法(Non-Maximum Suppression,NMS)

https://tcnull.github.io/nms/ https://blog.csdn.net/weicao1990/article/details/103857298 目标检测中检测出了许多的候选框&#xff0c;候选框之间是有重叠的&#xff0c;NMS作用重叠的候选框只保留一个 算法&#xff1a; 将所有候选框放入到集和B从B中选出分数S最大的b…

ubuntu安装QT

以QT5.15.14为例 下载地址&#xff1a;Index of /archive/qt 安装步骤&#xff1a; 解压qt-everywhere-src-5.15.14运行&#xff1a; cd qt-everywhere-src-5.15.14 mkdir build cd build ../configure -prefix /opt/qt5.15.14 -opensource -confirm-license make -j16 sudo…

keep-alive页面切回原滚动位置hook方法

keep-alive页面切回原滚动位置hook方法 原理hook使用 原理 如果使用了keep-alive组件&#xff0c;当前组件会额外增加两个生命周期。 activated&#xff1a;被 keep-alive 缓存的组件激活时调用 deactivated&#xff1a;被 keep-alive 缓存的组件失活时调用。 通过这两个声明周…

VBA技术资料MF168:移动工作表为单独工作簿

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

eventbus和vuex

EventBus和Vuex EventBus 工作原理 创建一个vue实例&#xff0c;然后通过空的vue实例作为组件之间的桥梁&#xff0c;进行通信&#xff0c;利用到的设计模式有发布订阅模式 Vuex 工作原理 维护了一个state树&#xff0c;是独立的状态树&#xff0c;有明显的层级关系。不论…

云计算-期末复习题-框架设计/选择/填空/简答(2)

目录 框架设计 1.负载分布架构 2.动态可扩展架构 3.弹性资源容量架构 4.服务负载均衡架构 5.云爆发结构 6.弹性磁盘供给结构 7.负载均衡的虚拟服务器实例架构 填空题/简答题 单选题 多选题 云计算期末复习部分练习题&#xff0c;包括最后的部分框架设计大题(只是部分…

vue3工程引用vue2模块文件时所做的修改

vue3工程引用vue2模块文件&#xff0c;如果代码没改的话&#xff0c;编译运行时可能会报错&#xff1a; SyntaxError: The requested module /fs/D:/HBuilderX.3.8.7.20230703/HBuilderX/plugins/uniapp-cli-vite/node_modules/dcloudio/uni-h5-vue/dist/vue.runtime.esm.js do…

SchedulerLock LockProvider参数配置表,列,大小写等 分布式锁 定时任务锁 学习总结

一、SchedulerLock 使用场景 如果是分布式任务&#xff0c;即多个相同的应用执行定时任务&#xff0c;那么为了防止重复执行可以使用其他分布式锁做内部判断或其他形式的锁机制来防止重复执行。 SchedulerLock 提供了现成的封装好的分布式锁机制来防止定时任务被重复执行 gi…

jQuery动画与特效

显示与隐藏动画 语法&#xff1a; $(obj).show(duration,fn);显示 $(obj).hide(duration,fn);隐藏 $(obj).toggle(); 功能&#xff1a; 1. show()方法能动态地改变当前元素的高度、宽度和不透明度&#xff0c;最终显示当前元素&#xff1b; 2. hide()方法会动态地改变当前元素…

AI办公自动化:多音频轨电影视频抽取出英语音频

很多电影视频是有中、英、粤语等多个音频轨的&#xff0c;如果直接转换成音频&#xff0c;很有可能不是自己想要的那种语音。 可以先查看音频流信息&#xff0c;确定属于哪个音频轨&#xff1a; Reading video file: E:\1-7\比得兔1.mp4 输出音频流信息 Available audio str…

利用viztracer进行性能分析和优化

上一篇文章&#xff0c;我们详细讲解了scalene这个性能分析和优化工具的使用流程&#xff1b;今天&#xff0c;我们将深入探讨另一个性能分析和优化工具——viztracer。 什么是viztracer&#xff1f; viztracer是一个非常强大的分析器&#xff0c;可以生成详细的性能报告和可…

设计师进阶指南:掌握这6条版式设计要点

布局设计是设计师的必修课。优秀的排版不是强制性的“东拼西凑”&#xff0c;而是通过设计师独特的排版获得的。这不是简单的信息列表&#xff0c;而是认真思考如何分层、有节奏地组织和安排元素。今天我将给你带来它 6 文章还附带了布局设计模板资源&#xff0c;设计师朋友一定…

《Windows API每日一练》6.1 鼠标基础知识

本节我们讲述鼠标的一些基础知识。 本节必须掌握的知识点&#xff1a; 鼠标 6.1.1 鼠标 鼠标是1964年由Douglas Engelbart发明的&#xff0c;用来取代由键盘输入的繁琐指令&#xff0c;简化电脑操作。早期的鼠标是单键鼠标&#xff0c;只有一个键&#xff0c;后来逐步改进为双…