Two arrays are called similar if one can be obtained from another by swapping at most one pair of elements in one of the arrays.

Given two arrays `a` and `b`, check whether they are similar.

Example

• For `a = [1, 2, 3]` and `b = [1, 2, 3]`, the output should be
`areSimilar(a, b) = true`.

The arrays are equal, no need to swap any elements.

• For `a = [1, 2, 3]` and `b = [2, 1, 3]`, the output should be
`areSimilar(a, b) = true`.

We can obtain `b` from `a` by swapping `2` and `1` in `b`.

• For `a = [1, 2, 2]` and `b = [2, 1, 1]`, the output should be
`areSimilar(a, b) = false`.

Any swap of any two elements either in `a` or in `b` won't make `a`and `b` equal.

``` def areSimilar(a, b):
count = 0
if sorted(a) == sorted(b):
for i in zip(a,b):
if i[0] != i[1]:
count +=1
if count > 2:
return False
else:
return True
else:
return False```

```def areSimilar(A, B):
return sorted(A)==sorted(B) and sum([a!=b for a,b in zip(A,B)])<=2```

Code Signal_练习题_Are Similar？的更多相关文章

1. Code Signal_练习题_digitDegree

Let's define digit degree of some positive integer as the number of times we need to replace this nu ...

2. Code Signal_练习题_Knapsack Light

You found two items in a treasure chest! The first item weighs weight1 and is worth value1, and the ...

3. Code Signal_练习题_growingPlant

Each day a plant is growing by upSpeed meters. Each night that plant's height decreases by downSpeed ...

4. Code Signal_练习题_arrayMaxConsecutiveSum

Given array of integers, find the maximal possible sum of some of its k consecutive elements. Exampl ...

5. Code Signal_练习题_differentSymbolsNaive

Given a string, find the number of different characters in it. Example For s = "cabca", th ...

6. Code Signal_练习题_firstDigit

Find the leftmost digit that occurs in a given string. Example For inputString = "var_1__Int&qu ...

7. Code Signal_练习题_extractEachKth

Given array of integers, remove each kth element from it. Example For inputArray = [1, 2, 3, 4, 5, 6 ...

8. Code Signal_练习题_stringsRearrangement

Given an array of equal-length strings, check if it is possible to rearrange the strings in such a w ...

9. Code Signal_练习题_absoluteValuesSumMinimization

Given a sorted array of integers a, find an integer x from a such that the value of abs(a[0] - x) + ...

随机推荐

1. linux python pip包安装

python  -m  pip   install    --trusted-host pypi.python.org

2. 菲涅尔反射(Fresnel Reflection)

离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光 ...

3. JavaScript &amp; HTML5 Canvas 概览 更新时间2014-0411-1805

HTML Canvas 坐标体系:矩形区域的左上角为坐标原点(0,0),向右为x轴,向下为y轴. 检测浏览器是否支持Canvas(IE系列从IE9开始支持): <!DOCTYPE html> ...

4. Linux&amp;shell之结构化命令

写在前面:案例.常用.归类.解释说明.(By Jim)使用if-then语句如果命令的退出状态是0(成功执行命令),将执行then后面的所有命令.如果命令的退出状态是0以外的其他值,那么then后面的 ...

5. Knockoutjs ： Unable to process binding &quot;value:

刚刚自学knockoutjs,老是碰到稀奇古怪的问题. 在自学knockout.js的时候经常遇到 Unable to process binding "value:的问题.目前总结了以下几 ...

6. 第37篇 Asp.Net源码解析(二)--详解HttpApplication

这篇文章花了点时间,差点成烂到电脑里面,写的过程中有好几次修改,最终的这个版本也不是很满意,东西说的不够细,还需要认真的去看下源码才能有所体会,先这样吧,后面有时间把细节慢慢的再修改.顺便对于开发的学 ...

7. linux 搭建CA服务器 http+ssl mail+ssl 扫描与抓包

搭建CA服务器 CA服务是给服务器发放数字证书,被通信双方信任,独立的第三方机构 国内常见的CA机构 中国金融认证中心(CFCA) 中国电信安全认证中心(CTCA) 北京数字证书认证中心(BJCA) ...

8. eclipse 使用tomcat7.0建立Dynamic Web Project 时 web.xml的问题

最近使用Eclipse helios版本结合tomcat7.0建立动态的web项目时,发现在WEB-INF下的web.xml没有了. 解决方案: 建立web项目时,建到第三个下一步时,将 Genera ...

9. python笔记05-----函数

函数 编程序语言中函数定义:函数是逻辑结构化和过程化的一种编程方法 def func(i): # def :定义函数的关键字:func:函数名:()内可以定义形参 i += 1 # 代码块或程序处理逻 ...

10. 1 springboot创建项目

文章采用idea工具进行springboot项目创建 1点击 New Project 选择[Spring Initializr] 选择Jdk版本其他默认即可 点击Next 2添加项目信息 文章即使用默 ...