Python K差连续元素

Python K差连续元素

K差被设置为任意值,用于设置两个数之间的差异。连续元素是按顺序排列的元素。在Python中,我们有一些内置函数,如range(),len(),abs(),append()和sort(),可以用来解决K差连续元素。

让我们以一个例子来说明。

给定列表[5, 6, 3, 2, 4, 3, 4]

将K值设置为1意味着每个连续的元素之间差异为5。

然后最终结果变为[True, False, True, False, True, True]

解释:

当元素之间差值为1时,结果为真,否则为假。

语法

在示例中使用以下语法-

range()

内置函数range() 是根据给定的长度返回数字的顺序。

len()

len()是Python内置函数,用于返回对象的长度。

abs()

内置函数 abs() 返回给定输入的绝对值。

append()

append()是Python中的一个内置函数,可以用于将元素添加到列表的末尾。

sort()

sort()是Python中的一个内置函数,用于将列表按升序排列。

使用暴力法

在下面的示例中,我们将使用暴力法来找到K个不同连续元素的可能解。在这个程序中,将使用for循环来设置迭代次数,次数由列表的长度决定。然后,通过使用if语句,将列表的绝对长度与K之间的等价条件设置为操作符。如果K的值满足特定的结果,那么它会将值true添加到连续元素中,否则添加false。最后,函数返回指定的结果。

示例

def k_diff_element(l, K):
# Empty list to store the final output
    f_res = []
# condition for the consecutive element
    for i in range(len(l) - 1):
        if abs(l[i] - l[i+1]) == K:
            f_res.append(True)
        else:
            f_res.append(False)
    return f_res
# create the list
lst = [5, 6, 3, 2, 5, 3, 4]
K = 1
res = k_diff_element(lst, K)
print("The result of K difference consecutive elements:\n", res)

输出

The result of K difference consecutive elements: 
[True, False, True, False, False, True]

使用sort()函数

在下面的例子中,程序使用递归函数来接受两个参数-输入列表和K值。使用内置函数sort()对给定的列表进行排序,将元素按升序排列。然后在变量result_f_res中创建空列表,用于存储程序的最终输出。接下来,使用for循环,变量i迭代给定的输入列表,使用内置函数len()和range()。然后使用if-else语句来设置连续元素差的条件,如果K差满足条件,则结果为true,否则为false。最后,使用函数return来指定输出。

示例

def k_diff_element(l, K):
    l.sort()
    f_res = []
# condition for the consecutive element
    for i in range(1, len(l)):
        if l[i] - l[i-1] == K:
            f_res.append(True)
        else:
            f_res.append(False)
    return f_res
# create the list
lst = [5, 6, 3, 2, 4, 3, 4]
K = 1
res = k_diff_element(lst, K)
print(res)

输出

[True, False, True, False, True, True]

使用两个指针

在以下示例中,程序使用了两个指针,意味着它按照给定列表的左右两个方向进行操作。然后,递归函数接受两个参数 – l和K,用于接收输入列表和K值。现在使用内置函数sort()按升序对整数列表进行排序。然后将初始值初始化为左右指针,用于计算连续元素之间的差异。接下来,将空列表存储在result变量中。继续设置while循环,其中使用<运算符将变量right与给定列表的长度进行比较,并计算l[right]和l[left]之间的差异并存储在变量diff中。使用if else-if条件语句基于列表的左右差异设置条件,并返回result变量以获取输出。

示例

def k_diff_element(l, K):
    l.sort()
# Set the first initial pointer
    left = 0
# Set the Second initial pointer
    right = 1
    result = []
    while right < len(l):
        diff = l[right] - l[left]
        if diff == K:
            result.append(True)
            left += 1
            right += 1
        elif diff < K:
            right += 1
        else:
            left += 1
    return result
# create the list
lst = [5, 7, 2, 3, 4]
K = 1
res = k_diff_element(lst, K)
print(res)

输出

[True, True, True]

结论

我们学习了K个连续元素的概念,它设置了差值来检查给定列表的顺序。根据给定的输入列表和特定的条件和操作,所有的输出都有所不同。这种类型的程序通常用于解决算法问题的陈述。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程