惠买商城官网优购物宁波seo网络推广优化价格

张小明 2026/1/11 11:49:01
惠买商城官网优购物,宁波seo网络推广优化价格,昆明网络开发公司,莱芜网站建设哪家好(新卷,100分)- 最大花费金额#xff08;Java JS Python C#xff09;题目描述双十一众多商品进行打折销售#xff0c;小明想购买自己心仪的一些物品#xff0c;但由于受购买资金限制#xff0c;所以他决定从众多心仪商品中购买三件#xff0c;而且想尽…(新卷,100分)- 最大花费金额Java JS Python C题目描述双十一众多商品进行打折销售小明想购买自己心仪的一些物品但由于受购买资金限制所以他决定从众多心仪商品中购买三件而且想尽可能的花完资金。现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额。输入描述输入第一行为一维整型数组M数组长度小于100数组元素记录单个商品的价格单个商品价格小于1000。输入第二行为购买资金的额度RR小于100000。输入格式是正确的无需考虑格式错误的情况。输出描述输出为满足上述条件的最大花费额度。如果不存在满足上述条件的商品请返回-1。用例输入23,26,36,2778输出76说明金额23、26和27相加得到76而且最接近且小于输入金额78。输入23,30,4026输出-1说明因为输入的商品无法组合出来满足三件之和小于26.故返回-1。题目解析本题其实就是让我们从n个数中选择3个保证这个3个数之和最接近且小于等于某个target。解题思路是首先我们将n个数的数组进行升序。然后用三个指针ILR去指向数组的三个元素形成三数组合其中I指针就是按照for循环遍历的顺序进行移动从0~n-1L指针初始为 I 1 位置R指针初始为 n - 1 位置如下图所示其中 I 指针在每一轮循环中是位置固定的我们需要移动LR来找不大于且最接近target的组合。LR指针的移动逻辑如下假设 sum arr[I] arr[L] arr[R]如果sum target了则说明当前三个指针指向的元素组合就是不大于且最接近target的答案可以直接返回。如果 sum target则说明三指针指向元素组合之和是一个可能解但是不一定是最优解此时我们应该先记录这个可能解然后尝试将L由于arr已经升序了因此L后新的三数组合之和一定比现在的大。如果 sum target则说明三指针指向元素组合之和过大了此时应该R--这样新的三数组合之和一定比现在的小。按此逻辑将当前 I 指针固定的数的三数组合情况全部求出。之后再 I 尝试其他三数组合。JavaScript算法源码/* JavaScript Node ACM模式 控制台输入获取 */ const readline require(readline); const rl readline.createInterface({ input: process.stdin, output: process.stdout, }); const lines []; rl.on(line, (line) { lines.push(line); if (lines.length 2) { const arrM lines[0].split(,).map(Number); const r lines[1] - 0; console.log(getResult(arrM, r)); lines.length 0; } }); function getResult(arr, target) { // 题目说小明要购买三件如果商品不足三件直接返回-1 if (arr.length 3) return -1; // 数组升序 arr.sort((a, b) a - b); let ans -1; for (let i 0; i arr.length; i) { let l i 1; let r arr.length - 1; while (l r) { const sum arr[i] arr[l] arr[r]; if (sum target) { return sum; } else if (sum target) { ans Math.max(ans, sum); l; } else { r--; } } } return ans; }Java算法源码import java.util.Arrays; import java.util.Scanner; public class Main { // 输入获取 public static void main(String[] args) { Scanner sc new Scanner(System.in); Integer[] arrM Arrays.stream(sc.nextLine().split(,)).map(Integer::parseInt).toArray(Integer[]::new); int r Integer.parseInt(sc.nextLine()); System.out.println(getResult(arrM, r)); } // 算法入口 public static int getResult(Integer[] arr, int target) { // 题目说小明要购买三件如果商品不足三件直接返回-1 if (arr.length 3) return -1; // 数组升序 Arrays.sort(arr); int ans -1; for (int i 0; i arr.length; i) { int l i 1; int r arr.length - 1; while (l r) { int sum arr[i] arr[l] arr[r]; if (sum target) { return sum; } else if (sum target) { ans Math.max(ans, sum); l; } else { r--; } } } return ans; } }Python算法源码# 输入获取 arr list(map(int, input().split(,))) target int(input()) # 算法入口 def getResult(): # 题目说小明要购买三件如果商品不足三件直接返回-1 if len(arr) 3: return -1 # 数组升序 arr.sort() ans -1 for i in range(len(arr)): l i 1 r len(arr) - 1 while l r: total arr[i] arr[l] arr[r] if total target: return total elif total target: ans max(ans, total) l 1 else: r - 1 return ans # 算法调用 print(getResult())C算法源码#include stdio.h #include stdlib.h #define MAX(a,b) (a) (b) ? (a) : (b) #define MAX_SIZE 100 int cmp(const void *a, const void *b); int getResult(int nums[], int nums_size, int target); int main() { int nums[MAX_SIZE]; int nums_size 0; while (scanf(%d, nums[nums_size])) { if (getchar() ! ,) break; } int target; scanf(%d, target); printf(%d\n, getResult(nums, nums_size, target)); return 0; } int getResult(int nums[], int nums_size, int target) { // 题目说小明要购买三件如果商品不足三件直接返回-1 if (nums_size 3) return -1; // 数组升序 qsort(nums, nums_size, sizeof(int), cmp); int ans -1; for(int i0; inums_size; i) { int l i 1; int r nums_size - 1; while(l r) { int sum nums[i] nums[l] nums[r]; if(sum target) { return sum; } else if(sum target) { ans MAX(ans, sum); l; } else { r--; } } } return ans; } int cmp(const void *a, const void *b) { return (*(int *) a) - (*(int *) b); }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

虚拟网站仿制教程濮阳市城乡一体化示范区七星医院

图解MOSFET工作原理:从电场形成到导通路径一个开关,为何能掌控千瓦功率?在一块小小的电源板上,你可能看不到继电器的“咔哒”声,也听不到变压器的嗡鸣。取而代之的是几个不起眼的黑色小芯片——它们就是MOSFET&#xf…

张小明 2026/1/10 14:01:07 网站建设

网站建设论文文献建设官方网站的作用

Komikku终极指南:免费开源漫画阅读器从安装到精通 【免费下载链接】komikku Free and open source manga reader for Android 项目地址: https://gitcode.com/gh_mirrors/ko/komikku Komikku是一款完全免费且开源的Android漫画阅读器,基于Tachiyo…

张小明 2026/1/10 14:01:07 网站建设

word里网站的超链接怎么做企业策划案

ReactElectron构建现代化跨平台笔记管理工具实战指南 【免费下载链接】read-cat 一款免费、开源、简洁、纯净、无广告的小说阅读器 项目地址: https://gitcode.com/gh_mirrors/re/read-cat 在当今数字化工作环境中,高效的知识管理工具成为提升个人生产力的关…

张小明 2026/1/10 14:01:09 网站建设

网站建设三站合一微信小程序兰州seo排名

哔咔漫画批量下载神器:极速多线程下载与智能管理体验 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器,带图形界面 带收藏夹,已打包exe 下载速度飞快 项目地址: https://gitcode.com/gh_m…

张小明 2026/1/10 14:01:09 网站建设

dede一键更新网站山东东营市广饶县

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万…

张小明 2026/1/10 14:01:11 网站建设

成都网站建设服务公司wordpress恋月

iPhone的使用寿命很长,如果保养得当,通常可达10年。但由于苹果频繁更新设备,大多数用户每3年就会通过出售旧设备来升级。然而,在出售之前,采取一些步骤以避免潜在问题是非常重要的。本文将介绍如何在出售前擦除iPhone数…

张小明 2026/1/10 14:01:12 网站建设