其它- in-place
in-place
刷编程题的时候,经常遇到题目要求do in-place。所以就上网搜了相关概念,简单总结一下。
in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。
举个例子,大家经常写也经常用到的”交换两个数的值”:
//设置初始值
int x = 1,y = 2;
1)最先想到的方法,就是设置临时变量
//设置临时变量
int temp;
temp = x;
x = y;
y = temp;
2)要满足in-place的要求,就需要另辟蹊径了。比如通过加减运算实现(但是可能会出现溢出)
//加减运算
x = x + y;
y = x - y;
x = x - y;
3)通过异或操作实现
//异或运算
x = x ^ y;
y = x ^ y;
x = x ^ y;
随机推荐
- 解决pyhton aiohttp ssl:None [[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
解决pyhton aiohttp ssl:证书报错问题, 错误信息> Cannot connect to host oapi.dingtalk.com:443 ssl:None [[SSL: C ...
- Ubuntu上安装Samba服务器实现家庭共享
如何在Ubuntu上安装Samba服务器 大多数Linux发行版都包含Samba. 要在Ubuntu上安装Samba,只需运行: sudo apt install samba 要检查您的Samba版本 ...
- 解惑好文:移动端H5页面高清多屏适配方案
背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范 ...
- Teradata 认证系列 - 2. Teradata数据库总览
Teradata (以下简称TD) 总览本课的学习目标 描述Teradata数据库产品的功能 知晓支持的操作系统 描述Teradata的并行架构 解释线性可扩展性 列出Teradata DBA永远不需 ...
- String对象中常用的方法有哪些?
1.length()字符串长度 String str="abc"; System.out.println(str.length()); //输出3 2.charAt()截取一个字符 ...
- IUserStore------Implements Diagram
- PHP实现文件上传和下载(单文件上传、多文件上传、多个单文件上传)(面向对象、面向过程)
今天我们来学习用PHP进行文件的上传和下载,并且用面向过程和面向对象的方式对文件上传进行一个限制 一.简单的上传测试 1.客户端:upload.php 2.后端:doAction.php 结果: 二. ...
- php之header的不同用法
1.header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端. header(string,replace,http_response_code) /*string ...
- Producer & Consumer
需要与Eureka结合使用 Eureka环境搭建 Producer 一.pom文件 <?xml version="1.0" encoding="UTF-8" ...
- POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】
实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...