算法总结之 不重复打印排序数组中相加和为给定值的所有二元数组

【Ultrascale+ MPSOC学习记录】6、从eMMC启动翻车 因为MPSOC还有一种启动模式是eMMC,接下来咱就实现从eMMC启动。 阅读详情

算法总结之 不重复打印排序数组中相加和为给定值的所有二元数组

给定一个排序数组arr 和整数 k, 在里面找到所相加为k的二元数组。

 

思路: 充分利用有序呀

          二元数组嘛 可以两个指针 一个 left  一个right  不断向中间压缩

          看看和与k的关系  然后移动相应的指针

package TT;

public class Test68 {

    public static void printUniquePair(int[] arr, int k){
        if(arr==null || arr.length < 2){
            
            return;
            
        }
        
        int left=0;
        int right = arr.length-1;
        while(left<right){
            if(arr[left]+arr[right]<k){
                left++;
                
            }else if(arr[left]+arr[right]>k){
                right--;
            }else{
                if(left==0 || arr[left-1] !=arr[left]){   //第一个没啥  后面的主要是 防止重复 比如 arr[1]==arr[2]  和是 num 那么会有重复的打印出来 其实我想到的
//还有一个策略是 放到set中 这样的话 可以存储起来而不是打印出来 System.out.println(arr[left]
+","+arr[right]); } left++; right--; } } } public static void main(String[] args){ int[] arr = new int[10]; arr[0] = -8; arr[1] = -4; arr[2] = -3; arr[3] = 0; arr[4] = 1; arr[5] = 2; arr[6] = 4; arr[7] = 5; arr[8] = 8; arr[9] = 9; int k = 10; printUniquePair(arr, k); } }

 

posted @ 2017-09-07 10:30 toov5 阅读( ...) 评论( ...) 编辑 收藏
Three.js 完整实战项目:构建一个 3D 商品展示空间 Three.js 作为强大的 WebGL 框架,广泛应用于交互式 3D 场景开发,尤其适合创建沉浸式商品展示空间。本文将通过一个完整的实战项目,展示如何构建一个 3D 商品展示空间,涵盖项目架构、资源组织、多模型切换、交互热点绑定、移动端适配和帧率优化。项目以展示虚拟商品(如家具或电子产品)为核心,结合用户交互,基于 Vite、TypeScript 和 Tailwind CSS,支持 ES Modules,确保响应式布局,遵循 WCAG 2.1 可访问性标准。本文适合希望通过综合项目掌握 Three.js 阅读详情

相关推荐

【迁移学习】域对抗迁移网络 DANN

Domain-Adversarial Training of Neural Networks

这个博客太懒了什么都没说 8418

不重复打印排序数组中相加和为给定值的所有三元组

题目描述: 给定排序数组arr和整数k,不重复打印arr中所有相加和为k的严格升序的三元组 例如, arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9], k = 10,打印结果为: -4 5 9 -3 4 9 -3 5 8 0 1 9 0 2 8 1 4 5 [要求] 时间复杂度为O(n2)O(n^2)O(n2),空间复杂度为O(1)O(1)O(1)。 输入描述: 第一行有两个整数n, k 接下来一行有n个整数表示数组内的元素 输出描述: 输出若干行,每行三个整数表示答案 按三

MIC10086的博客 404

从桨叶设计到电机匹配:手把手教你调出无人机最佳动力组合

本文系统介绍了无人机动力系统的核心匹配原则,重点解析了如何通过测试与数据分析,优化螺旋桨与电机的组合,从而显著提升系统力效与续航。文章提供了从参数解读、实战测试到深度调优的完整指南,帮助开发者解决电机过热、推力不足等常见问题,实现无人机性能最大化。

weixin_29305313的博客 242

数组与矩阵---不重复打印排序数组中相加和为给定值的所有二元组和三元组

【题目】  给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序二元组。例如,arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9],k = 10,打印结果为:1,9 2,8【补充题目】  给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序三元组。例如,arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9],k = 1

冰殇的博客 881

openEuler 欧拉 安装Oracle19c数据库RPM包安装

欧拉系统安装部署oracle 19c rpm方式

陈苏漾的IT生涯 6895

SDM量化噪声等效到PLL输出的传递函数推导

在历年文章或书本中少见SDM量化噪声等效到PLL输出的传递函数推导。需了解SDM量化噪声的本质,配合欧拉方程简化,并将Z域转化成S域。最终结合断环处等效到PLL输出的传递函数,方可完成。

u010486560的博客 1410

不重复打印排序数组中相加和为给定值的所有二元组和三元组

//不重复打印排序数组中相加和为给定值的所有二元组和三元组 public class GetArrNum{ //(1)获得排序数组中为给定值的二元组 public static void GetArrNum2(int []arr,int k) { if(arr==null||k<arr[0]||arr.length<2) {

ZCC的专栏 647

优快云积分获取与管理全攻略

技术社区积分系统是知识共享生态的核心激励机制,通过量化用户贡献实现资源交换。其底层逻辑遵循Web2.0时代的UGC经济模型,用户通过内容创作、社区互动等行为积累虚拟资产。在开发者社区场景中,积分体系能有效促进技术文档、工具源码等资源的流通,优快云作为国内头部平台,其积分规则具有典型参考价值。掌握签到策略、内容互动技巧和资源上传规范等实操方法,可系统性提升积分获取效率。2023年新规强化了连续签到奖励和互动质量检测机制,结合GitHub等开源平台资源互补,能构建更高效的技术资源获取路径。

weixin_34233974的博客 218

左神算法 不重复打印排序数组中相加和为给定值的所有二元组

【题目】 给定一个排序的数组arr和整数k,不重复打印arr中所有相加和为k的不降序二元组。 如果从left = 0,right= 0开始,下一步的行动很难判断,如果right要保证大于left,肯定right先动,如果sum = arr[left] +arr[right] k呢,怎么移动,left向右移动吗,不合适。 所以让right在数组的末端,从left左边,right右边像中间扩。时

qq_31617121的博客 332

179、运动控制中的行业标准:机器人安全标准ISO 10218

今天这篇笔记,就把我踩过的坑和标准里的硬骨头掰开揉碎讲清楚。

m0_50546716的博客 170

Multisim14.0仿真应用设计(三十九)74LS183 高速全加器应用仿真

74LS183是一种高速全加器,可以同时执行四位二进制数的加法运算。它的输入端包括两个4位二进制数和一个进位信号,输出端则为一个4位二进制数和一个进位信号。

zhusl6688的博客 3857

算法总结之 不重复打印排序数组中相加和为给定值的所有三元数组

算法总结之 不重复打印排序数组中相加和为给定值的所有三元数组 这个问题跟上一个 大同小异,如何不重复打印呢? 首先保证选定三元数组中第一个值不重复,剩下的就跟前一个题目一样了。 package TT; public class Test69 { public static void printUniqu...

art_code的博客 359

JeecgBoot passwordChange 任意用户密码重置漏洞复现

​JeecgBoot 框架passwordChange接口存在任意用户密码重置漏洞,未经身份验证的远程攻击者可以利用此漏洞重置管理员账户密码,从而接管系统后台,造成信息泄露,导致系统处于极不安全的状态。

0xSec 2643

给定以排序的数组,不重复打印数组中所有相加和为K的不降序二元组

给定以排序的数组,不重复打印数组中所有相加和为K的不降序二元组 例:arr = {-8,-4,-3,0,2,4,5,8,9,10},K = 10 输出(0,10)(2,8) 解法一: 暴力解法 每次定一个元素向后依次尝试看相加之和是否等于K 缺点:效率太低 解法二: 二分查找 求出数组和K的差值,再利用二分查找,看这个值是否在这个数组中 解法三:首尾指针 定义两个指针分别指向数组的第一个元素和最...

李大鸭的博客 687

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

不重复打印排序数组中相加和为给定值的所有二元组

1.二分 2.vector find 3.set find,顺序 #include <set> #include <vector> #include <algorithm> #include <iostream> using namespace std; int64_t binarySearch(int start,int end,vector&...

qq_43069546的博客 502

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

不重复打印数组中相加和为给定值的所有二元组和三元组

1.题目描述 给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序二元组 例如, arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9], k = 10,打印结果为: 1, 9 2, 8 解题方法 用左右两个指针不断向中间压缩的方式实现 n,k = list(map(int,input().split())) arr = list(map(i...

weixin_40947140的博客 326

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

左神带我飞之01[编程题]不重复打印排序数组中相加和为给定值的所有三元组

我觉的左神这个题有问题啊,题里面说的是不降序,实现时候 改成了头两个数升序才通过,心累,一直以为是我代码的问题。。。。。 #include<iostream> #include<vector> using namespace std; void towsum( int ri,vector<int> &rec,long long targe,...

weixin_40245436的博客 300

【牛客】不重复打印排序数组中相加和为给定值target的所有三元组

题目描述 给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序三元组。 例如, arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9], k = 10,打印结果为: -4 5 9 -3 4 9 -3 5 8 0 1 9 0 2 8 1 4 5 [要求] 时间复杂度为O(n^2),空间复杂度为O(1) 输入描述: 第一行有两个整数n, k 接下来一行有n个整数表示数组内的元素 输出描述: 输出若干行,每行三个整数表示答案 按三元组从小到大的顺序输出(三元组大小比较方式为

weixin_42956047的博客 491

每日算法——不重复打印排序数组中相加和为给定值的所有三元组

s

派大星的博客 689

程序员代码面试指南刷题--第八章.不重复打印排序数组中相加和为给定值的所有二元组

题目描述 给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序二元组 例如, arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9], k = 10,打印结果为: 1, 9 2, 8 [要求] 时间复杂度为O(n),空间复杂度为O(1) 输入描述: 第一行有两个整数n, k 接下来一行有n个整数表示数组内的元素 输出描述: 输出若干行,每行两个整数表示答案 ...

我不是什么好人 247

程序员代码面试指南刷题--第八章.不重复打印排序数组中相加和为给定值的所有三元组

题目描述 给定排序数组arr和整数k,不重复打印arr中所有相加和为k的不降序三元组 例如, arr = [-8, -4, -3, 0, 1, 2, 4, 5, 8, 9], k = 10,打印结果为: -4 5 9 -3 4 9 -3 5 8 0 1 9 0 2 8 1 4 5 [要求] 时间复杂度为O(n2)O(n^2)O(n2),空间复杂度为O(1)O(1)O(1) 输入描述: 第一行有两个...

我不是什么好人 393
上一篇: 算法总结之 最长的可整合子数组长度
下一篇: 算法总结之 不重复打印排序数组中相加和为给定值的所有三元数组
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值