Python求解排列中的逆序數(shù)個數(shù)實例
在一個排列中,如果一對數(shù)的前后位置與大小順序相反,即前面的數(shù)大于后面的數(shù),那么它們就稱為一個逆序。
一個排列中逆序的總數(shù)就稱為這個排列的逆序數(shù)。
一個排列中所有逆序總數(shù)叫做這個排列的逆序數(shù)。
也就是說,對于n個不同的元素,先規(guī)定各元素之間有一個標(biāo)準(zhǔn)次序(例如n個 不同的自然數(shù),可規(guī)定從小到大為標(biāo)準(zhǔn)次序),于是在這n個元素的任一排列中,當(dāng)某兩個元素的先后次序與標(biāo)準(zhǔn)次序不同時,就說有1個逆序。
一個排列中所有逆序總數(shù)叫做這個排列的逆序數(shù)。
Python代碼:
def inverse_number(string):
'input a number which is string than,you will get the inverse number'
ans = 0
for i in range(len(string)):
for j in range(i):
if string[j] > string[i]:
ans += 1
return ans
print(inverse_number(input("Please input the number: ")))
補(bǔ)充知識:python輸入一個整數(shù),輸出該數(shù)二進(jìn)制表示中1的個數(shù)
我就廢話不多說了,大家還是直接看代碼吧!
# -*- coding:utf-8 -*-
class Solution:
def NumberOf1(self, n):
# write code here
cnt = 0
if n<0:
n = n & 0xffffffff
while n:
cnt+=1
n = (n-1) & n
return cnt
通過按位與,巧妙的計算出二進(jìn)制中"1"的個數(shù)。
以上這篇Python求解排列中的逆序數(shù)個數(shù)實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python基于遞歸算法實現(xiàn)的漢諾塔與Fibonacci數(shù)列示例
這篇文章主要介紹了Python基于遞歸算法實現(xiàn)的漢諾塔與Fibonacci數(shù)列,結(jié)合實例形式分析了漢諾塔與Fibonacci數(shù)列的遞歸實現(xiàn)技巧,需要的朋友可以參考下2018-04-04
python列表使用實現(xiàn)名字管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python列表使用實現(xiàn)名字管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
Python?Pendulum進(jìn)行日期時間處理的示例詳解
Pendulum?是對?Python?datetime?的繼承和發(fā)展,讓日期時間處理更簡單,這篇文章主要為大家詳細(xì)介紹了Pendulum的具體應(yīng)用,需要的可以參考下2025-02-02
Python文本轉(zhuǎn)語音引擎pyttsx3的使用完全指南
在開發(fā)需要語音輸出功能的應(yīng)用時,文本轉(zhuǎn)語音技術(shù)是一個非常有用的工具,Python的pyttsx3庫提供了一個簡單且離線的方式來實現(xiàn)這一功能,下面小編就來和大家介紹一下pyttsx3的具體使用吧2025-04-04

