当前位置: 首页 > news >正文

贪心算法之货仓选址问题

#include<stdio.h>
#include<stdlib.h>
#include<math.h>//贪心算法之货仓选址问题/***  void* p是万能指针,可以和其它任意类型的指针进行转换,前提是确保转换是合法的*/
//写好用于qsort的比较函数,这里写的函数一般用于升序排序
int compare(const void* a, const void* b)
{//(int*)为先将指针a强制类型转换为整型指针,前面的*为取值操作return(*(int*)a - *(int*)b);
}//找出数组排好序后处于中间位置的数
int find(int* shops, int arrNum)//shops为数组名,arrNum为数组的长度
{qsort(shops,arrNum,sizeof(int),compare);  //因为是整型数组,所以第三部分写的是sizeof(int)int pos = shops[arrNum / 2];return pos;
}//求总的距离
int sum(int pos,int* shops, int arrNum)
{int total = 0;for (int i = 0; i < arrNum; i++){total += abs(pos - shops[i]);}return total;
}int main(int argc, char* argv[])
{int n = 0;printf("请输入商店数量:");scanf_s("%d",&n);int* shops = (int*)malloc(sizeof(int) * n);printf("输入商店坐标\n");for (int i = 0; i < n; i++){printf("第%d间商店:",i+1);scanf_s("%d",shops+i);}int pos = find(shops, n);int total = sum(pos, shops, n);printf("货仓坐标:%d,最短距离:%d\n",pos,total);return 0;
}

在这里插入图片描述

相关文章:

贪心算法之货仓选址问题

#include<stdio.h> #include<stdlib.h> #include<math.h>//贪心算法之货仓选址问题/*** void* p是万能指针&#xff0c;可以和其它任意类型的指针进行转换&#xff0c;前提是确保转换是合法的*/ //写好用于qsort的比较函数&#xff0c;这里写的函数一般用于…...

Java网络编程——Request Response 对象

Response - 网页 上一章我们学习了 Java 中使用 Okhttp3 库请求网页或调用 API 的知识。 使用一条语句执行调用请求&#xff0c;并取得返回结果字符串&#xff1a; call.execute().body().string()execute() 方法是真正执行发送请求&#xff0c;前面的一系列代码是做前置准备…...

【代码随想录训练营第42期 Day24打卡 回溯Part3 - LeetCode 93.复原IP地址 78.子集 90.子集II

目录 一、做题心得 二、题目与题解 题目一&#xff1a;93.复原IP地址 题目链接 题解&#xff1a;回溯--分割问题 题目二&#xff1a;78.子集 题目链接 题解&#xff1a;回溯--子集问题 题目三&#xff1a;90.子集II 题目链接 题解&#xff1a;回溯--子集问题 三、小…...

python venv和virtualenv详解

一、venv简介 C:\Users\love1>python -m venv -h usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip][--prompt PROMPT] [--upgrade-deps]ENV_DIR [ENV_DIR ...]该命令用于在一个目录或者多个目录中创建一个虚拟的…...

《征服数据结构》树堆(Treap)

摘要&#xff1a; 1&#xff0c;Treap的介绍 2&#xff0c;Treap节点的插入 3&#xff0c;Treap节点的删除 4&#xff0c;Treap和笛卡尔树的区别 1&#xff0c;Treap的介绍 Treap又叫树堆&#xff0c;属于一种自平衡二叉搜索树&#xff0c;是由单词Tree和Heap构成&#xff0c;是…...

论文笔记:OneBit: Towards Extremely Low-bit Large Language Models

202402 arxiv 1 背景 模型量化主要通过把模型的线性层【nn.Linear】&#xff08;Embedding 层和 Lm_head 层除外&#xff09;转化为低精度表示实现空间压缩 此前工作的基础是利用 Round-To-Nearest&#xff08;RTN&#xff09;方法把高精度浮点数近似映射到附近的整数网格然而…...

英语文化中的音乐分类及其发展历史(Classical、Jazz、Rock、Pop、Electronic、Country、RB、Hip-Hop)

文章目录 英语文化中的音乐分类及其发展历史1. 简介2. 古典音乐 (Classical Music)2.1 起源与发展2.2 技术与风格 3. 爵士音乐 (Jazz Music)3.1 起源与发展3.2 技术与风格 4. 摇滚音乐 (Rock Music)&#xff08;Rock and roll&#xff09;4.1 起源与发展4.2 技术与风格 5. 蓝调…...

C语言-栈、队列、二叉树

12 栈、队列、二叉树 目录 12 栈、队列、二叉树 一、栈、队列、二叉树是什么&#xff1f; 二、栈 1. 特点&#xff1a;先进后出 -- 有底的盒子 2. 使用场景&#xff1a;函数调用 -- 中断机制 3. 实现栈的形式&#xff1a; 三、队列 1. 特点&#xff1a;先进先出 -- 水…...

pinia-plugin-persistedstate 插件不生效

引入使用该插件使用时发现不生效 原因&#xff1a;pinia实例调用顺序不当 将&#xff1a; // import ./assets/main.css import { createApp } from vue import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstate import App fr…...

sqlite 合并两个数据库中的特定表

sqlite 合并两个数据库中的特定表 命令行python 版本 命令行 .open v1/mydb.db attach v2/mydb.db as db2; insert into main.表1 select * from db2.表1; insert into main.表2 select * from db2.表2; .exit参数说明v1/mydb.db主db文件路径&#xff0c;合并后的结果就是它…...

winform中设置DateTimePicker参数为空

在C#中&#xff0c;使用DateTimePicker控件时&#xff0c;您可以将其Value属性设置为null或者DateTime.MinValue来表示没有选定的日期或时间。以下是如何设置默认值为空的示例代码&#xff1a; dateTimePicker1.Value DateTime.MinValue; 或者&#xff0c;如果您希望用户不能…...

Python爬虫(8)

JsonPath介绍使用 JsonPath是一种轻量级的查询库&#xff0c;可以从JSON文本数据中进行筛选和提取操作。有点类似于使用XPath在HTML数据中提取数据的功能。JsonPath 也可以通过使用类似于 XPath 的表达式来访问 JSON对象中的属性和元素&#xff0c;并支持通配符、筛选器和函数…...

靓图!多点创新!CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解+卷积长短期+注意力多元时间序列预测

靓图&#xff01;多点创新&#xff01;CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解卷积长短期注意力多元时间序列预测 目录 靓图&#xff01;多点创新&#xff01;CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解卷积长短期注意力多元时间序列预测效果一览基本介绍程序设计…...

zdpgo_gin_limit 为zdpgo_gin打造的接口限流框架,当API接口需要限制访问频率的时候可以使用此框架

zdpgo_gin_limit 为zdpgo_gin打造的接口限流框架&#xff0c;当API接口需要限制访问频率的时候可以使用此框架 安装 go get github.com/zhangdapeng520/zdpgo_gin_limit使用教程 基于内存的限流 package mainimport (gin "github.com/zhangdapeng520/zdpgo_gin"…...

Java1234的Vue学习笔记

第一节 vue.js简介 简介 第二节 vue开发工具 vscode 第三节:vue HelloWorld实现 理解vue双向绑定v-model的概念 底层数据改变视图对应显示会变,视图绑定数据变会影响底层数据,对应MVVM模式http://blog.java1234.com/blog/articles/510.html <!DOCTYPE html> <…...

嵌入式八股-C++面试91题(20240809)

1. 讲一讲封装、继承、多态是什么&#xff1f; 封装&#xff1a;将具体实现过程和数据封装成一个类&#xff0c;只能通过接口进行访问&#xff0c;降低耦合性&#xff0c;使类成为一个具有内部数据的自我隐藏能力、功能独立的软件模块。 意义&#xff1a;保护代码防止被破坏&…...

如何恢复误删视频?找回误删视频文件的办法分享

在数字化时代&#xff0c;视频已成为我们生活中不可或缺的一部分&#xff0c;记录着珍贵的回忆、工作资料或是学习素材。然而&#xff0c;在电脑上一不小心误删视频文件&#xff0c;该怎么办&#xff1f;视频误删怎么恢复&#xff1f;有什么小技巧可以找回删除的视频&#xff1…...

游戏手柄开发一款游戏

使用游戏手柄开发一款游戏是一个既有趣又充满挑战的项目。这通常涉及多个步骤&#xff0c;包括选择合适的硬件、学习编程技能、设计游戏逻辑以及测试和优化游戏。以下是一个大致的步骤指南&#xff0c;帮助你开始这个过程&#xff1a; 1. 确定游戏类型和概念 游戏类型&#x…...

【阿旭机器学习实战】【39】脑肿瘤数据分析与预测案例:数据分析、预处理、模型训练预测、评估

《------往期经典推荐------》 一、【100个深度学习实战项目】【链接】&#xff0c;持续更新~~ 二、机器学习实战专栏【链接】&#xff0c;已更新31期&#xff0c;欢迎关注&#xff0c;持续更新中~~ 三、深度学习【Pytorch】专栏【链接】 四、【Stable Diffusion绘画系列】专…...

深度学习基础 - 梯度垂直于等高线的切线

深度学习基础 - 梯度垂直于等高线的切线 flyfish 梯度 给定一个标量函数 f ( x , y ) f(x, y) f(x,y)&#xff0c;它的梯度&#xff08;gradient&#xff09;是一个向量&#xff0c;表示为 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y)&#xff0c;定义为&#xff1a; ∇ f ( x…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...