Code Signal_练习题_Are Similar?

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 aand b equal.

我的解答:

 1 def areSimilar(a, b):
 2     count = 0
 3     if sorted(a) == sorted(b):
 4         for i in zip(a,b):
 5             if i[0] != i[1]:
 6                 count +=1
 7         if count > 2:
 8             return False
 9         else:
10             return True
11     else:
12         return False

膜拜大佬:

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

原文地址:https://www.cnblogs.com/YD2018/p/9363203.html

时间: 2024-10-13 01:33:28

Code Signal_练习题_Are Similar?的相关文章

Code Signal_练习题_shapeArea

A 1-interesting polygon is just a square with a side of length 1. An n-interesting polygon is obtained by taking the n - 1-interesting polygon and appending 1-interesting polygons to its rim, side by side. You can see the 1-, 2-, 3- and 4-interesting

Code Signal_练习题_All Longest Strings

Given an array of strings, return another array containing all of its longest strings. Example For inputArray = ["aba", "aa", "ad", "vcd", "aba"], the output should beallLongestStrings(inputArray) = ["

Code Signal_练习题_matrixElementsSum

After they became famous, the CodeBots all decided to move to a new building and live together. The building is represented by a rectangular matrix of rooms. Each cell in the matrix contains an integer that represents the price of the room. Some room

Code Signal_练习题_isLucky

Ticket numbers usually consist of an even number of digits. A ticket number is considered lucky if the sum of the first half of the digits is equal to the sum of the second half. Given a ticket number n, determine if it's lucky or not. Example For n

Code Signal_练习题_commonCharacterCount

Given two strings, find the number of common characters between them. Example For s1 = "aabcc" and s2 = "adcaa", the output should becommonCharacterCount(s1, s2) = 3. Strings have 3 common characters - 2 "a"s and 1 "c&qu

Code Signal_练习题_Minesweeper

In the popular Minesweeper game you have a board with some mines and those cells that don't contain a mine have a number in it that indicates the total number of mines in the neighboring cells. Starting off with some arrangement of mines we want to c

Code Signal_练习题_variableName

Correct variable names consist only of English letters, digits and underscores and they can't start with a digit. Check if the given string is a correct variable name. Example For name = "var_1__Int", the output should bevariableName(name) = tru

Code Signal_练习题_chessBoardCellColor

Given two cells on the standard chess board, determine whether they have the same color or not. Example For cell1 = "A1" and cell2 = "C3", the output should bechessBoardCellColor(cell1, cell2) = true. For cell1 = "A1" and cel

Code Signal_练习题_alphabeticShift

Given a string, replace each its character by the next one in the English alphabet (z would be replaced by a). Example For inputString = "crazy", the output should bealphabeticShift(inputString) = "dsbaz". 我的解答: def alphabeticShift(inp