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

LCR 179.查找总价值为目标值的两个商品

文章目录

  • 一、读题
  • 二、算法思路
  • 三、代码实现:

一、读题

题目来源:https://leetcode.cn/problems/he-wei-sde-liang-ge-shu-zi-lcof/

在这里插入图片描述
    题目很简单,找两个数相加得到另外一个数

二、算法思路

    依旧啊,看到这样的题目第一个想法还是暴力,两个for循环全部遍历一遍,肯定能够找出来结果,但是也是不负众望超时了哈哈哈哈哈哈在这里插入图片描述
    因此我们需要考虑其他的算法了,我们可以依据暴力找解题的思路,依旧啊,暴力的本质是通过遍历一个数据一个数据的排除,先拿一个数和剩下的数进行相加,成立就返回,不成立就继续加,那么我们也可以按照这个思路,看看是否可以降低时间复杂度

    我们可以先排序,这道题目对于返回的数据没有顺序要求,那么我们就可以先排序看看有没有思路。

    排序后我们想一想,两个数相加,会得到一个数,那么这个数要么大于要么小于要么等于对吧,当我们得到target的时候,如果小于target的时候我们会增大两个数,如果大于target我们会减小两个数,如果等于就什么都不做。那么在这一道题目当中我们可以直接拿最大的数和最小的数相加,拿到的结果如果大于target,那么移动最大的数减小,如果小于target,那么就移动最小的数增大,如果等于就直接返回,最极端的情况下就是根本找不到,但是看题目的意思,并没有说存在无法找到的情况,因此按照我们的思路就绝对可以找到结果。

    本质上还是根据数据的单调性来找答案,既然答案肯定能够在数组当中找出来,那么直接找一个中间值,那么这个中间值就是最大的数加最小的数,如果这个中间值小了就增大最小值,如果中间值大了就减小最大值,这个思路其实就是二分但不是纯二分,在这一道题我们是使用双指针的算法来解决问题,借鉴二分来找解题思路。

在这里插入图片描述

三、代码实现:

class Solution {//暴力没有过全部案例public int[] twoSum(int[] price, int target) {int[] ans = new int[2];for(int i = 0 ; i < price.length - 1 ; ++i) {for(int j = i + 1 ; j < price.length ; ++j) {if((price[i] + price[j]) == target) {ans[0] = price[i];ans[1] = price[j];return ans;}}}return ans;}public int[] twoSum(int[] price, int target) {Arrays.sort(price);int[] ans = new int[2];int n = price.length;int i = 0;int j = n - 1;while(i < j) {if(price[i] + price[j] > target) {j--;} else if(price[i] + price[j] < target){i++;} else {ans[0] = price[i];ans[1] = price[j];break;}}return ans;}
}

    各位佬,如果有什么更加高效的算法欢迎评论区讨论,指导一下主包进步,大家一起共勉

http://www.dtcms.com/a/533590.html

相关文章:

  • 如何高效学习的讨论———编程等等
  • 织梦wap模板自适应手机网站dedecms模板下载wordpress建一个网站
  • 大数据方法论与实践指南-企业目标管理举例(小红书)
  • 如何构建一个电子商务网站重庆360网络推广
  • 网站建设的功能要求一个网站的开发周期
  • 跨网络互联技术(UAC-NSSM)
  • 站外推广方式做购物商城类网站需要
  • gemini cli试用体验
  • 建设网站要多少钱wordpress插件数量
  • 自己做网站能赚钱吗做视频网站收入
  • linux做网站最近的时事新闻
  • 一文了解高压互锁功能
  • 力扣2982. 找出出现至少三次的最长特殊子字符串 II
  • 下载网站php源码公司创建网站要多少钱
  • GZ073 网络系统管理赛项赛题第9套B模块(Linux部分)
  • 上海制造网站公司著名软件开发公司
  • 常见网络端口号及端口查看命令
  • 教你如何创建自己的网站建设网站的实验目的
  • 插件开发常用api整理
  • 东莞做网站找微客巴巴wordpress底部导航栏
  • 广州免费建站哪里有网页制作培训学费
  • 怎么修改网站网页的背景图片哈尔滨工业大学包机
  • 网站能不能一边用 一边备案直接进入网址的浏览器
  • 精美网站制作公司外贸网站制作哪家快
  • 网站是用php还是asp 怎么区别云盘建设网站
  • 廉政网站 建设需求汕头建站网站模板
  • 网站需要证件WordPress到底好不好用
  • 东莞网站建设方案咨询江宁网站建设价格
  • 泉州建站哪些公司wordpress 京东插件
  • 自己电脑做服务器上传网站 需要备案吗威海做网站推广的企业