题目描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输出描述:
对应每个测试案例,输出两个数,小的先输出。
https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b?tpId=13&tqId=11195&rp=...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-10 15:46:13
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            /*输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的*/		/*对应每个测试案例,输出两个数,小的先输出。*/思路:题目说了是一个递增数组,要找两个乘积最小的使他们和为S那么,从开始从两头找,找到a[i]+a[j]=sum的则输出当前两个数加起来小于sum,说明a[j]够大,a[i]有些小 ,i=i+1;...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-26 16:40:15
                            
                                36阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            对应每个测试案例,输出两个数,小的先输出。
思路:和为S,乘积最小,那么两个数之差最大的才是符合题意的,对数组从头开始进行遍历,其中一个数为x,那么另一个数为S-x,如果能在数组后面找到就直接返回。
class Solution {
...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-30 10:06:14
                            
                                66阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目:题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。方法一:两层循环,定义一个头一个尾,外层循环从头到尾,表示第一个元素,内层循环在外层循环内,表示第二个元素,判断两数之和是否为S,找到一组元素,退出循环。分析:假设第一个元...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-12 16:24:02
                            
                                107阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            牛客上要求返回乘积最小的,实际上不用麻烦去写另外一个函数,第一次找到两个数字的乘积就一定是最小的。 在调试程序时也遇到两个问题: 1.既然用到了vector容器,头文件就应该声明#include<vector> 2.vector的初始化的一种方式: int b[] = {1,2,3,4,5,6,7,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-05-14 22:48:00
                            
                                50阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。思路:使用两个for循环,得到第一个最小数返回。 输出描述: 对应每个测试案例,输出两个数,小的先输出。思路:使用两            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-03-02 11:40:00
                            
                                27阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 python solution:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-03-02 17:50:00
                            
                                74阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 实现语言:Java 实现语言:Java            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-12-30 22:13:00
                            
                                60阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。思路:左右两个指针,和大于sum的话right--,小于left++;加两个变量存储积最小的结果。 1 class So...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-09-02 00:14:00
                            
                                34阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            题目描述:  输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-29 11:09:33
                            
                                50阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-22 11:55:13
                            
                                68阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            输入一个数组和一个数字 s,在数组中查找两个数,使得它们的和正好是 s。你可以认\            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-03 00:22:35
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目 输入一个递增排序的数组和一个数字 s,在数组中查找两个数,得它们的和正好是 s。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-08 13:48:59
                            
                                157阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            package sort;
import java.util.Arrays;
import java.util.Scanner;
public class TwoSum {
    public static void main(String[] args) {
         int[]arr= {1,3,5,7,9,11};
         int target=new Scanne            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-28 16:54:34
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            。
输入:
[1,2,4,7,11,15],15
输出:
[4,11]
解析&参考答案
解析
方法1: 2个for循环遍历,记录满足条件最小的两个数即可,时间复杂度较高;
方法2: 使用一个for循环,2个指针分别指            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-29 09:59:52
                            
                                75阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目链接题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。分析:数组递增,两数和为定值时,要使两数乘积最小,所以顺序查找,第一组和为S的两个数即为所求。 时间复杂度O(nlog(n))class Solution {public:    ve...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-12 10:10:43
                            
                                136阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。  输出描述: 对应每个测试案例,输出两个数,小的先输出。证明: 因为是递增数组,所以第一次求出a[low]+a[high]==k,则是乘机最小的那个。当两个数x+y=k,当x和y越接近乘机越大。证明如下: x+y=k 两边平方: (x+y)^2=k^2            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-01 18:59:23
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-01 13:30:17
                            
                                62阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目描述输入一个递增            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-21 07:37:41
                            
                                126阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 题目 2. 解答 由于数组是已经排好序的,我们可以定义两个指针,第一个指针指向第一个元素,第二个指针指向最后一个元素,然后求出这两个元素的和,与目标和进行比较。若小于目标和,第一个指针向前移动;若大于目标和,第二个指针向后移动。 若等于目标和,题目中要求输出乘积最小的。由于两个元素的乘积肯定小            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-10 10:59:13
                            
                                266阅读