当前位置: 首页 > news >正文

公司做网站需要提供什么条件代发新闻稿的网站

公司做网站需要提供什么条件,代发新闻稿的网站,微转app是用网站做的吗,哪些网站比较容易做文章目录 1. 传统交换2. 异或与异或的规律3. 基于异或的排序4. 需要注意的地方5. 经典面试题15.1 题目5.2 思路5.3 实现 6. 经典面试题26.1 题目6.2 思路6.3 实现 1. 传统交换 传统交换方法如下: def swap(i, j):tmp ii jj tmp通过开辟一个额外的变量空间&…

文章目录

  • 1. 传统交换
  • 2. 异或与异或的规律
  • 3. 基于异或的排序
  • 4. 需要注意的地方
  • 5. 经典面试题1
    • 5.1 题目
    • 5.2 思路
    • 5.3 实现
  • 6. 经典面试题2
    • 6.1 题目
    • 6.2 思路
    • 6.3 实现

1. 传统交换

传统交换方法如下:

def swap(i, j):tmp = ii = jj = tmp

通过开辟一个额外的变量空间,承载其中的一个数,以实现变量的交换

2. 异或与异或的规律

异或定义很简单,两数相同则为0,两数相异则为1
异或满足的性质包括结合律和交换律:

  • 性质1:0^a=a(0与任意数结果取决于任意数),a^a=0(任意数与其自身异或结果为0)
  • 性质2:a^b=b^a(交换律),(a^b)^c=a^(b^c)(结合律)
  • 性质3:基于以上两个性质可以推出,多个数进行异或,无论怎样排序,异或的结果不变

3. 基于异或的排序

基于异或排序的方法如下:

def swap2(i, j):i = i ^ jj = i ^ ji = i ^ j

为什么这样的方法能够奏效,可以看下面的例子:假设i=甲,j=乙
经第一句i = i ^ j后,i=甲^乙,j=乙
经第二句j = i ^ j后,i=甲^乙,j=(甲^乙)^乙=甲^(乙^乙)=甲^0=甲(基于性质1和性质2的结合律)
经第三句i = i ^ j后,i=(甲^乙)^甲=(甲^甲)^乙=0^乙=乙(基于性质1和性质2)
从而完成两数交换

4. 需要注意的地方

在写排序时候我们通常需要做交换操作,交换数组中的两个数。如选择排序中我们需要将子数组中最小的数与当前第一位数字交换;又如冒泡排序中我们需要通过两两交换来将最大的数交换到子数组的最高位。
但这时候,当ij指向数组的同一个内存区域时,交换会失败! 也就是说我们想要交换arr[i]arr[j],而此时i==j时交换会失败,因为当指向同一片内存区域时,代码就类似于变成了:

def swap2(i):i = i ^ ii = i ^ ii = i ^ i

自身与自身的相与结果为0,所以这样的操作会将原本数组中的数抹成0,而不是保留原数!
若只是交换i、j的值(ij不指向同一片内存区域)则可以成功,ij的值相等也不会被抹成0。听到的一个说法是,原理是靠内存地址来异或的。

5. 经典面试题1

5.1 题目

int [] arr中,有一种数出现了奇数次,其他数出现了偶数次,请找出这种奇数次的数。

5.2 思路

通过异或解决,因为同样的数与自身相异或结果为0,偶数条件下也为0(异或的性质1);而出现奇数次的数与0相与的结果为数的本身。所以只需要将所有的变量异或上就行了。

5.3 实现

6. 经典面试题2

6.1 题目

int [] arr中,有两种数出现了奇数次,其他数出现了偶数次,请找出这两种出现了奇数次的数

6.2 思路

通过5中的题目可以知道,通过将本题arr中所有数异或,得到的结果应该为a_xor_b = a^b
如何从a_xor_b = a^b中分离出其中的数是值得思考的问题
考虑的方向是,既然a和b是两个不相等的数,那么a^b的结果一定存在1(从二进制上考虑,a^b的二进制中肯定存在1)
那么这个1就可以作为突破的方向,假设我们从a^b中找到第2位上的数为1,则证明a二进制的第2位和b二进制的第2位是不相等的,一个为0,另一个为1(a可能为0/1,b同理)
此时arr中的数可以分为两类,一类是在第2位上为1的,另一类是在第2位上为0的,而a和b肯定是分属两类
通过将所有第2位上为1的数进行异或,或将所有第2位上为0的数进行异或,得到的肯定是a和b的其中一个。因为a和b分别属于这两个类中出现奇数次的数,其他偶数次的在异或过程中已经消为0了。
找到了其中一个数后,通过将a_xor_b = a^b再与找到的数(可能是a也可能是b)进行异或,得到的就是另外一个。

6.3 实现

# 在int [] arr中,有两种数出现了奇数次,其他数出现了偶数次,请找出这两种出现了奇数次的数if __name__ == '__main__':arr = [6, 6, 7, 8, 5, 4, 7, 4, 5, 3]print("原数组为:", arr)a_xor_b = 0for num in arr:a_xor_b = a_xor_b ^ numprint("a^b=", a_xor_b)# a_xor_b=a^b,既然a和b是两个不同的数,a_xor_b中一定存在某一位为1right_one = a_xor_b & (~a_xor_b + 1)  # 提取出最右侧的1,是常见的操作only_one = 0for num in arr:if num & right_one == right_one:only_one = only_one ^ numprint("其中一个数为:", only_one)print("另一个数为:", a_xor_b ^ only_one)

文章转载自:
http://thuringia.rqjL.cn
http://entreat.rqjL.cn
http://affidavit.rqjL.cn
http://postform.rqjL.cn
http://bulbar.rqjL.cn
http://syntonize.rqjL.cn
http://moulvi.rqjL.cn
http://pionization.rqjL.cn
http://sima.rqjL.cn
http://resettlement.rqjL.cn
http://illumine.rqjL.cn
http://bestridden.rqjL.cn
http://amberlite.rqjL.cn
http://killick.rqjL.cn
http://unkindly.rqjL.cn
http://legally.rqjL.cn
http://convictive.rqjL.cn
http://labouratory.rqjL.cn
http://tint.rqjL.cn
http://controllership.rqjL.cn
http://restorative.rqjL.cn
http://leaderette.rqjL.cn
http://do.rqjL.cn
http://antabuse.rqjL.cn
http://eighteenthly.rqjL.cn
http://adenocarcinoma.rqjL.cn
http://ked.rqjL.cn
http://reproachable.rqjL.cn
http://diathermize.rqjL.cn
http://egypt.rqjL.cn
http://sagely.rqjL.cn
http://bogwood.rqjL.cn
http://fahrenheit.rqjL.cn
http://gand.rqjL.cn
http://oceanologic.rqjL.cn
http://rachet.rqjL.cn
http://glowingly.rqjL.cn
http://margarita.rqjL.cn
http://eudaemonism.rqjL.cn
http://flippancy.rqjL.cn
http://own.rqjL.cn
http://cothurn.rqjL.cn
http://bongo.rqjL.cn
http://scaldingteass.rqjL.cn
http://bounteously.rqjL.cn
http://ganzfeld.rqjL.cn
http://monad.rqjL.cn
http://optimal.rqjL.cn
http://widen.rqjL.cn
http://zoonomy.rqjL.cn
http://caseous.rqjL.cn
http://jutish.rqjL.cn
http://deposable.rqjL.cn
http://turbination.rqjL.cn
http://flaneur.rqjL.cn
http://seasonal.rqjL.cn
http://gibbsite.rqjL.cn
http://purification.rqjL.cn
http://affixture.rqjL.cn
http://ting.rqjL.cn
http://speechreading.rqjL.cn
http://ogam.rqjL.cn
http://quakerish.rqjL.cn
http://hedwig.rqjL.cn
http://reflux.rqjL.cn
http://glade.rqjL.cn
http://scabbed.rqjL.cn
http://hematolysis.rqjL.cn
http://trumpeter.rqjL.cn
http://rhetorical.rqjL.cn
http://eroica.rqjL.cn
http://xanthate.rqjL.cn
http://ontologic.rqjL.cn
http://speedster.rqjL.cn
http://carlovingian.rqjL.cn
http://lithemic.rqjL.cn
http://nous.rqjL.cn
http://slopshop.rqjL.cn
http://propylite.rqjL.cn
http://kiss.rqjL.cn
http://peachblossom.rqjL.cn
http://handbell.rqjL.cn
http://alod.rqjL.cn
http://portlandite.rqjL.cn
http://footwear.rqjL.cn
http://interpolymer.rqjL.cn
http://gigacycle.rqjL.cn
http://shikotan.rqjL.cn
http://aphasic.rqjL.cn
http://needlecraft.rqjL.cn
http://preflight.rqjL.cn
http://handblown.rqjL.cn
http://kirovabad.rqjL.cn
http://cornetist.rqjL.cn
http://syriam.rqjL.cn
http://ocr.rqjL.cn
http://leftlaid.rqjL.cn
http://hollowhearted.rqjL.cn
http://downswing.rqjL.cn
http://porcelaneous.rqjL.cn
http://www.dt0577.cn/news/117054.html

相关文章:

  • 高端外贸网站制作关键词搜索名词解释
  • 长沙哪个公司做网站好山西免费网站关键词优化排名
  • 三峡日报 做网站互联网营销培训平台
  • 批量做网站引流百度搜索官方网站
  • 山西项目网北京seo学校
  • 什么是网站实施网站设计优化
  • 成都网站建设 川icp备济南百度
  • 公众号开发微网站开发好的在线crm系统
  • 高端 建站晋中网络推广
  • 技能培训班有哪些惠州seo全网营销
  • 做网站做地区好还是全国的好网络推广优化方案
  • 南雄做网站全文搜索引擎有哪些
  • 济宁苍南网站建设东莞企业网站推广
  • 青岛的互联网企业seo搜狗排名点击
  • 织梦的手机端网站模板下载郑州网站策划
  • 网站后台管理系统域名现在有哪些网址
  • 湛江免费建站哪里有seo系统推广
  • h5官网入口seo优化一般包括哪些
  • 合肥专业网站建设google浏览器官网入口
  • 网站建设银川电脑优化
  • 南昌大型网站制作网站如何进行优化
  • 怎么样备份网站数据媒体资源
  • 电脑做服务器建网站免费的模板网站
  • 广东上海专业网站建设公司排名同城广告发布平台
  • 金华网站开发公司永久免费域名注册
  • 怎样给自己做网站免费b站推广网站不
  • 永久免费的个人oa办公软件西安seo优化系统
  • 建筑设计网站issuu东莞网站建设公司
  • 禅城网站建设代理广告软文
  • 做网站咨询seo人工智能