和为S的两个数字

57. 和为 s 的两个数字 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。分别指向数组的左右两端,然后不断移动指针,直到找到一组和为。[10,30] 或者 [30,10][2,7] 或者 [7,2] 阅读详情

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。对应每个测试案例,输出两个数,小的先输出。


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Solution {
    public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {

        ArrayList<ArrayList<Integer>> lists = new ArrayList<>();

        int begin = 0;
        int end = array.length - 1;
        while(begin < end)
        {
            int currSum = array[begin] + array[end];
            if(currSum == sum)
            {
                ArrayList<Integer> list = new ArrayList<>();
                list.add(array[begin]);
                list.add(array[end]);
                list.add(array[begin] * array[end]);
                lists.add(list);
                begin++;
                end--;
            }
            else
            {
                if(currSum < sum)
                    begin++;
                else
                    end--;
            }
        }


        if(lists.size() ==0) return new ArrayList<Integer>();
        //if(lists.size() ==1) return lists.get(0);
        Collections.sort(lists, new Comparator<ArrayList<Integer>>() {

            @Override
            public int compare(ArrayList<Integer> o1, ArrayList<Integer> o2) {
                    return o1.get(2).compareTo(o2.get(2));

            }
        });

        ArrayList<Integer> result = new ArrayList<>();
        ArrayList<Integer> temp = lists.get(0);
        for(int i = 0;i < 2; i++){
            result.add(temp.get(i));
        }

        return result;
    }
}
PubMedBERT:生物医学NLP中的垂直领域预训练实践与性能突破 本文深入探讨了PubMedBERT在生物医学NLP领域的应用与性能突破。作为专为生物医学文本设计的预训练模型,PubMedBERT通过全词掩码策略和BLURB基准测试,显著提升了命名实体识别、关系抽取等任务的准确率。文章还提供了PubMedBERT的实战应用案例和代码示例,展示了其在医学文献检索和电子病历结构化中的卓越表现。 阅读详情

相关推荐

别再被SpringerLink虐了!手把手教你搞定LaTeX源文件提交(附正确文件顺序和类型选择)

本文详细解析了SpringerLink投稿系统中LaTeX源文件提交的常见问题与解决方案,包括文件打包、类型选择和顺序排列等关键步骤。通过实战经验,帮助科研人员避开隐形陷阱,一次性完成LaTeX提交,提升投稿效率。特别针对`.bst`和`.cls`文件的正确处理提供了专业指导。

weixin_42522964的博客 445

和为S的两个数字&&和为S的连续正数序列

和为S的两个数字 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 解题思路 数组是有序,在数组首尾各放入一指针,判断两指针的数的和是否与sum相等,如果小,plow向前进一步;如果大,phigh往后退一步。 代码 import java.util.ArrayLi...

weixin_41676282的博客 259

PDN设计

作者:AirCity 2020.2.6 Aircity007@sina.com 本文所有权归作者Aircity所有 PDN设计的目的是降低电源纹波水平,减小电压跌落。我们通常要求LDO的文波水平是30mV,DCDC是50mV,超过这个就需要PDN设计。 PDN设计的方法是用不同的容值,合适的总电容量,降低电源平面与地平面之间的交流阻抗,确定容值总量和电容大小的过程,就是PDN设计过程。 为什么需...

AirCity123的博客 4147

[剑指Offer]和为S的两个数字(Java)

题目 和为S的两个数字 -- newcoder 剑指Offer 42 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数, 使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 思路 * 1、双指针,一个指向头节点,一个指向尾节点 * 2、数组有序,利用首尾指针,找到相差最大的和等于S的两个元素即可 ...

聚沙成塔 368

【10. Wi-Fi 通用模组-小米 IoT 平台-如何进行硬件调试】

调试APP功能:从米家服务器缓存读取设备状态,等同于米家APP 的环境,开发者使用该调试器可模拟用户使用设备的实际情况,即调试米家 App 中的扩展程序。- 调试固件:调试器从固件读取设备状态,用于调试设备模组固件的某个单项功能,开发者使用该调试器可针对性地调试设备的某个功能。小爱语控测试工具:如果当前产品可被小爱语控,则可以使用该工具调试语控效果。调试APP功能(云端缓存)

tuoyuanO的博客 1041

python123题目——个税计算器

类型:简单分支。

m0_62488776的博客 5803

牛客题解 | 和为S的两个数字

牛客题库题解

wc529065的博客 1073

【Claude】媒体文件处理错误:PDF 与 Image 过大的检测与预处理方法 bug报错已解决

图片压缩是必须的:原始图片的 base64 会占用大量 TokenPDF 提取文本优于传图片:文本版 PDF 比扫描版更省 Token分块处理大文件:不要一次性处理整个大文件控制分辨率:800x800 通常足够 Claude 分析。

博客 6360

剑指OFFER-和为S的两个数字

剑指OFFER-和为S的两个数字QuestionSolution双指针 Question 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 关键词:有序求和 双指针 Solution 虽然可以暴力循环,但是上一题用双指针找连续和,注意指针是从头尾开始就行了。 双指...

会有Mao的 164

手把手教你学基于 Linux 的 NPU 固件开发-第 10 讲:可靠性设计(RAS)——让系统坚如磐石错误检测、纠正与上报机制(ECC、Parity)

组件推荐保护机制备注HBM/DDRScrubbing必须开启,定期巡检片上 SRAMECC(权重/激活值),Parity(指令)权衡面积与可靠性计算单元ABFT或DMR(关键路径)防止计算逻辑错误片上网络CRC重传保证数据传输完整性系统软件AER 上报CE 监控自动恢复闭环管理,杜绝 SDC运维策略预测性维护Checkpoint变被动为主动核心心法(信任硬件,但必须验证。在纳米尺度下,错误是必然发生的物理现象。

MHD0815的博客 91

110、3A 端到端调试:从 ISP register dump 到主观画质的完整调试流程

文章摘要 本文分享了ISP 3A(AE/AWB/AF)端到端调试的实战经验,通过具体案例解析常见问题排查方法。从硬件链路确认、寄存器dump分析、算法闭环验证到主观画质调优,提出了一套系统化调试流程。重点包括:如何通过示波器和寄存器抓包定位时序问题,AWB调试中black level校正的关键作用,AF闭环控制中hall传感器反馈的重要性,以及算法与硬件联调的"三板斧"方法论。作者强调3A调试本质是系统工程,需结合物理层信号测量、数据通路验证和算法状态跟踪,避免陷入局部优化陷阱。

sundong_81的博客 57

LeetCode & 剑指Offer:和为S的两个数字、和为S的连续正数序列、和为S的子数组

剑指Offer(四十二):和为S的两个数字 题目 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 1、思路 对于一个数组,我们可以定义两个指针,一个从左往右遍历(pleft),另一个从右往左遍历(pright)。首先,我们比较第一个数字和最后一个数字的和cu...

Tiger数学之家的博客 404

LLaMA-Factory微调教程2:命令行sft微调

本文介绍了如何使用llama-factory项目在本地运行Qwen2-7B大语言模型进行对话。首先通过llamafactory-cli env查看环境配置,然后使用git lfs下载Qwen2-7B模型。创建配置文件qwen2_7b_instruct.yaml,修改模型路径和模板参数。最后通过llamafactory-cli chat命令启动对话服务,加载模型配置文件和tokenizer,完成环境初始化后即可进行交互式对话。

Cachel Wood的博客 8814

JZ57 和为S的两个数字

输入一个递增排序的数组array和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,返回任意一组即可,如果无法找出这样的数字,返回一个空数组即可。

Crazyaegdg的博客 287

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

剑指offer57_和为S的两个数字

两数之和

君鼎的博客 535

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

剑指offer-和为S的两个数字

36.和为S的两个数字 题目内容: 代码及思路: 因为输入是一个递增排序,因此可以设置两个指针分别指向序列的最小值small和最大值big,如果两者的和大于S,则big--,否则small++; #include<iostream> #include<vector> using namespace std; class Solution { public: ...

larklili的博客 128

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

剑指Offer刷题(和为S的两个数字)

剑指Offer刷题(和为S的两个数字01)一.题目描述二.代码(C++)三.提交记录四.备注 一.题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 二.代码(C++) class Solution { public: vector<int> FindNumbersWithSum(vector<int> array,int sum

Umbraner的博客 171

Java篇—和为S的两个数字

题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得它们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的那一对。 思路分析: 由于是递增排序的数组,所以,我们可以使用两个指针,分别指向数组的首元素和尾元素(一个从前往后,指向较小的数,一个从后往前,指向较大的数),这样找到的两个数的乘积必然是最小的。当两个数的和大于S时,较大的数字指针向左移动,当两个数的和小...

戚同学的博客 314

剑指 Offer 57. 和为s的两个数字 06

双指针+单调性

2402_84062064的博客 355

牛客_和为S的两个数字

【代码】牛客_和为S的两个数字。

d3y1`5 81_09 244

和为s的两个数字

1、题目 2、思路 首先定义两个指针,第一个指针p指向数组的第一个数字,第二个指针q指向数组的最后一个数字。如果p+q=s,则找到要找的数字;如果p+q #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; /* 输入一个递增排序的数组和一个数字s,在数组中查找两个...

小麦大大博客 260

每天一道剑指offer-和为S的两个数字

考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默响起来一个声音:...

WantFlyDaCheng的博客 174

Nowcoder java-和为S的两个数字

Nowcoder java-和为S的两个数字 (题目来自牛客网) 思路 若b>a,且存在, a + b = s; (a - m ) + (b + m) = s 则:(a - m )(b + m)=ab - (b-a)m - m*m < ab;说明外层的乘积更小; 也就是说依然是左右夹逼法!!!只需要2个指针 1.left开头,right指向结尾 2.如果和小于sum,说明太小了,left右移寻找更大的数 3.如果和大于sum,说明太大了,right左移寻找更小的数 4.和相等,把left和r

weixin_43675940的博客 144

剑指offer之和为S的两个数字

剑指offer之和为S的两个数字题目描述输出描述解题思路Code 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述 对应每个测试案例,输出两个数,小的先输出。 解题思路 Two pointers的思想 Code class Solution { public: vector&lt;int...

gq__97的博客 450
上一篇: 平衡二叉树
下一篇: 和为S的连续正数序列
Shingle_
博客等级 码龄10年 185粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值