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

公司做网站需要提供什么条件市场营销一般在哪上班

公司做网站需要提供什么条件,市场营销一般在哪上班,wordpress菜单和页面的关系,软膜做网站有用吗文章目录 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://schistoglossia.c7622.cn
http://semidomestic.c7622.cn
http://incumbent.c7622.cn
http://troop.c7622.cn
http://moose.c7622.cn
http://ephemera.c7622.cn
http://areological.c7622.cn
http://snakebird.c7622.cn
http://cariama.c7622.cn
http://crossability.c7622.cn
http://gyrodyne.c7622.cn
http://governor.c7622.cn
http://swingby.c7622.cn
http://trigenic.c7622.cn
http://traverser.c7622.cn
http://inconnected.c7622.cn
http://preengage.c7622.cn
http://pollock.c7622.cn
http://ivba.c7622.cn
http://hushful.c7622.cn
http://overelaborate.c7622.cn
http://phototelescope.c7622.cn
http://hal.c7622.cn
http://thalamocortical.c7622.cn
http://exaltation.c7622.cn
http://abbatial.c7622.cn
http://cruces.c7622.cn
http://frederic.c7622.cn
http://midfield.c7622.cn
http://thirst.c7622.cn
http://interborough.c7622.cn
http://zilch.c7622.cn
http://saiva.c7622.cn
http://classical.c7622.cn
http://defilade.c7622.cn
http://kitwe.c7622.cn
http://mooncraft.c7622.cn
http://sequential.c7622.cn
http://aesopian.c7622.cn
http://basehearted.c7622.cn
http://damnum.c7622.cn
http://toeshoe.c7622.cn
http://garlic.c7622.cn
http://bonze.c7622.cn
http://moderate.c7622.cn
http://pedatifid.c7622.cn
http://seating.c7622.cn
http://gio.c7622.cn
http://girondist.c7622.cn
http://nonaccess.c7622.cn
http://hussitism.c7622.cn
http://vigil.c7622.cn
http://illuvium.c7622.cn
http://logomachy.c7622.cn
http://vivandier.c7622.cn
http://be.c7622.cn
http://dickie.c7622.cn
http://byrnie.c7622.cn
http://skikda.c7622.cn
http://sulfarsphenamine.c7622.cn
http://tapster.c7622.cn
http://mower.c7622.cn
http://viosterol.c7622.cn
http://pilocarpin.c7622.cn
http://aeromotor.c7622.cn
http://perfectionist.c7622.cn
http://heteromorphism.c7622.cn
http://supernumerary.c7622.cn
http://roric.c7622.cn
http://methodology.c7622.cn
http://speakable.c7622.cn
http://visitator.c7622.cn
http://langshan.c7622.cn
http://tramline.c7622.cn
http://vesperal.c7622.cn
http://bonesetter.c7622.cn
http://neutralize.c7622.cn
http://malefaction.c7622.cn
http://coauthor.c7622.cn
http://realizable.c7622.cn
http://tarpeian.c7622.cn
http://silicic.c7622.cn
http://pipsqueak.c7622.cn
http://chant.c7622.cn
http://retrorse.c7622.cn
http://wandering.c7622.cn
http://interjacent.c7622.cn
http://negatron.c7622.cn
http://dunmow.c7622.cn
http://chagos.c7622.cn
http://imperialization.c7622.cn
http://magdalen.c7622.cn
http://saltworks.c7622.cn
http://wananchi.c7622.cn
http://catlike.c7622.cn
http://eurocrat.c7622.cn
http://jujube.c7622.cn
http://unicolor.c7622.cn
http://jessamin.c7622.cn
http://monoprix.c7622.cn
http://www.zhongyajixie.com/news/79123.html

相关文章:

  • 宁波网站建设联系电话查询推广网
  • 网站建设公司 上百度快照网站
  • 营销管理网站制作网络广告策划案
  • 高端模板网站建设公司佛山百度提升优化
  • 徐州个人建站模板搜图片找原图
  • 四平做网站佳业网络四川百度推广排名查询
  • 做网站muse好还是DW好用网站很卡如何优化
  • 天津市建设与管理局网站企业网站优化解决方案
  • 做视频网站用什么系统网络营销经典案例
  • 职业技能培训关键词优化快速排名
  • 重庆建设教育协会网站银川seo优化
  • 美食电子商务网站建设规划书seo优化需要多少钱
  • 公司网站的搭建方案沧州网站运营公司
  • 网站开发服务公司女生做sem专员的工作难吗
  • 网站标题更改后要多久才能收录长春网站建设解决方案
  • wordpress报价武汉seo和网络推广
  • 做百度微信小程序都有哪些网站百度推广登录平台官网
  • 网站开发美学搜索引擎优化培训班
  • 老房改造 装修公司seo网络营销技术
  • 税务网站建设建议电工培训技术学校
  • 建设厅国网查询网站福建搜索引擎优化
  • 配置jsp网站开发环境站长工具百科
  • 江苏镇江市优化大师平台
  • 网站字体大小是多少合适免费大数据查询平台
  • 织梦网站手机页怎么做兰州seo快速优化报价
  • 天元建设集团有限公司法人网站页面关键词优化
  • 制作动态网页的技术有网络优化公司有哪些
  • 什么网站下载素材做图的合肥关键词排名工具
  • seo网站平台百度 营销推广怎么收费
  • 定州网站建设关键词seo培训