Python求解排列中的逆序数个数实例


Posted in Python onMay 03, 2020

在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。

一个排列中逆序的总数就称为这个排列的逆序数。

一个排列中所有逆序总数叫做这个排列的逆序数。

也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。

一个排列中所有逆序总数叫做这个排列的逆序数。

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: ")))

补充知识:python输入一个整数,输出该数二进制表示中1的个数

我就废话不多说了,大家还是直接看代码吧!

# -*- 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

通过按位与,巧妙的计算出二进制中"1"的个数。

以上这篇Python求解排列中的逆序数个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
python原始套接字编程示例分享
Feb 21 Python
python处理圆角图片、圆形图片的例子
Apr 25 Python
Python闭包实现计数器的方法
May 05 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
详解Python多线程Selenium跨浏览器测试
Apr 01 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
Django 全局的static和templates的使用详解
Jul 19 Python
python selenium循环登陆网站的实现
Nov 04 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
Python道路车道线检测的实现
Jun 27 Python
Python3实现个位数字和十位数字对调, 其乘积不变
May 03 #Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 #Python
Python中实现输入一个整数的案例
May 03 #Python
python中使用input()函数获取用户输入值方式
May 03 #Python
Python run()函数和start()函数的比较和差别介绍
May 03 #Python
对python中arange()和linspace()的区别说明
May 03 #Python
python 等差数列末项计算方式
May 03 #Python
You might like
php查看网页源代码的方法
2015/03/13 PHP
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
微信小程序实现图片放大预览功能
2020/10/22 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
详解JavaScript中的链式调用
2020/11/27 Javascript
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python实现归并排序算法
2018/11/22 Python
Python Process多进程实现过程
2019/10/22 Python
wxPython多个窗口的基本结构
2019/11/19 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
历史系毕业生自荐信
2013/10/28 职场文书
运动会广播稿300字
2014/01/10 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
代理人委托书
2014/09/16 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
法制教育观后感
2015/06/17 职场文书
健康教育主题班会
2015/08/14 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
MySQL聚簇索引和非聚簇索引的区别详情
2022/06/14 MySQL
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers
MySQL分布式恢复进阶
2022/07/23 MySQL