申诉

简介: 前些日子 ISCteam要招 intern,我帮着出了道题 被扔在选作题里面(居然还被标为英文阅读题。。。庐山瀑布汗) 面试的同志们打完了 由出题人负责打分 如果不满意可以进行申诉 不过 我倒还真没想到我的题也有考生会来申诉 前两道都是任务相关,最后一道是一个问如果交换变量 如何用时间换空间 写段代码出来 基本上来讲 对就是对 错就是错 明明没
前些日子 ISCteam要招 intern,我帮着出了道题 被扔在选作题里面(居然还被标为英文阅读题。。。庐山瀑布汗)
面试的同志们打完了 由出题人负责打分 如果不满意可以进行申诉

不过 我倒还真没想到我的题也有考生会来申诉
前两道都是任务相关,最后一道是一个问如果交换变量 如何用时间换空间 写段代码出来

基本上来讲 对就是对 错就是错 明明没什么好说的呀。

此君申辩 略过不表 (反正被我说的服了,一点脾气也没有)

在这里小谈下时间换空间的方法 抛个转头 等着有玉来砸

时间换空间
时间资源是什么 估计大家都知道,顾名思义么。
空间资源是什么,就是我们的硬件资源,CPU 内存什么的

一般的交换方法 大家都会
设个中间变量做中继来交换
tmp = a
a = b
b = tmp

但既然是时间换空间 自然要尽量减少空间消耗 也就是 不用中间变量
这个时候 简单的办法是
两数叠加再分配
a = a+b
b = a-b
a = a-b
但许多情况是要被考虑的 比如 超过上限怎么办
此时就可以判断两数是否同号,若是不同号则用符号比较就好, 同号的话 可以用减法代替加法 来处理掉

当年还在某个群厮混的时候还看到了某一牛人的写法
好像是
a^=b^=a^=b
大概是这样的,是用异或的办法来处理

当然 在某些可以用指针的语言里就更方便了 交换个地址就成了
由于对指针已经忘光了 在这里 抄袭下别人的文章 来说明这个问题
if(a
a=(int*)(b-a); 
b=(int*)(b-(int(a)&0x0000ffff)); 
a=(int*)(b+(int(a)&0x0000ffff)); 

else 

b=(int*)(a-b); 
a=(int*)(a-(int(b)&0x0000ffff)); 
b=(int*)(a+(int(b)&0x0000ffff)); 

之所以分两种情况是为了避免 地址计算出现负数

大概能想到的就这么多。
不过 在考卷中有个答案还是令我耳目一新并埋怨自己怎么把老本行都忘记了
那就是单片机
将两个变量分别赋予 AH AL 然后让AX自滚动4位 就好了


砖头已出 待玉登场~

相关文章
|
容器
商标撤三知识:撤销三年不使用商标实务中的攻与守
当心仪的商标被他人抢先注册后,唯一获得该商标的方法便是申请撤三,可以从以下几个方面进行印证。
2819 0
|
存储 机器学习/深度学习 人工智能
储户资金刷脸被盗,监管部门发文警示人脸应用风险
今年7月份,两大银行接连爆出多名储户的数百万存款被异地“刷脸”盗取,引发全社会关注。其实,因人脸安全问题导致资金被盗、被贷款安全事件已不是新鲜事。
149 0
储户资金刷脸被盗,监管部门发文警示人脸应用风险
程序人生 - 二手房能延期过户吗?
程序人生 - 二手房能延期过户吗?
120 0
程序人生 - 二手房能延期过户吗?
|
NoSQL 数据安全/隐私保护 智能硬件
|
新零售 大数据
解读0715微淘客大封号
在此,向更多微淘客死伤的发单号致敬:干这一行,封你是爱你,让你学会坚强,学会多元化收入,学会不盲目跟风,学会精细化运营。微淘客本来门槛就低,用户都变成同行,不考虑自身资源就一拥而上,结果.......不幸! 一段视频里这样说:全部被封了哈!全部,无一生还,无一生还! 早在昨天,我就闻到风声,本来打算就在昨晚来聊聊这个事情,但是心里又想,如果天要下雨,你又奈何,还是等等吧,等大家回过神来再说,没想到今天风依旧大,把很多人吹得很懵逼。
1978 0