首页 > 试题广场 >

排序

[编程题]排序
  • 热度指数:9202 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛有一个长度为n的整数序列,牛牛想对这个序列进行重排为一个非严格升序序列。牛牛比较懒惰,他想移动尽量少的数就完成重排,请你帮他计算一下他最少需要移动多少个序列中的元素。(当一个元素不在它原来所在的位置,这个元素就是被移动了的)

输入描述:
输入包括两行,第一行一个整数n(1 ≤ n ≤ 50),即序列的长度
第二行n个整数x[i](1 ≤ x[i] ≤ 100),即序列中的每个数


输出描述:
输出一个整数,即最少需要移动的元素个数
示例1

输入

3
3 2 1

输出

2
length,array=int(input()),list(map(int,input().split()))
sorted_array=sorted(array)
n=0
for i in range(length):
    if sorted_array[i]!=array[i]:
        n+=1
print(n)
发表于 2019-08-14 21:32:40 回复(0)
input()
a=tuple(map(int,input().split()))
print (len([0 for i in zip(a,sorted(a)) if i[0]!=i[1]]))

发表于 2019-06-26 10:51:32 回复(0)
n = int(input())
list_ = list( int(x) for x in input().split())
list_sorted = sorted(list_)
count = 0
for i in range(n):
    if list_[i] != list_sorted[i]:
        count += 1        
print(count)

编辑于 2019-05-09 17:16:15 回复(0)

n = int(input())
x = list(map(int,input().split()))
y = sorted(x)
count = 0
for i in range(n):
if x[i] != y[i]
count = count + 1
print(count)

发表于 2019-04-22 17:22:54 回复(0)
n = int(input())
x = list(map(int, input().split()))
y = x[:]
y.sort()
num = 0
for i in range(n):
    if x[i] != y[i]:
        num += 1
print(num)

发表于 2019-04-09 11:34:51 回复(0)
if __name__ == "__main__":
    n = int(input())
    x = list(map(int, input().split(" ")))
    x_new = sorted(x)
    num = 0
    for i in range(len(x_new)):
        if x_new[i] != x[i]:
                num+=1
    print(num)
发表于 2019-03-24 21:23:37 回复(0)
n = int(input())
s = list(map(int, input().split()))
a = []
count = 0 for i in s:
    a.append(i)
s.sort() for j in range(n):   if a[j] != s[j]:
        count += 1 print(count)

发表于 2019-03-19 19:32:27 回复(0)

python三行

题目介绍WTF??
实际就是一个很简单的问题,把原始数组排序,对比每一个位置和原来位置是否相同,如果不相同,结果就要加一。
length, original_array = int(input()), list(map(int, input().split()))
sorted_array = sorted(original_array)
print(sum(map(lambda c: original_array[c] != sorted_array[c], range(length))))
编辑于 2019-03-15 21:19:35 回复(0)
n = eval(input())
a = list(map(int,input().split()))
b = sorted(a)
count = 0 
for i in range(n):  
    if a[i] != b[i]:
        count += 1 
print(count)

编辑于 2019-01-13 18:47:33 回复(0)