Python求解排列中的逆序数个数实例
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。
一个排列中逆序的总数就称为这个排列的逆序数。
一个排列中所有逆序总数叫做这个排列的逆序数。
也就是说,对于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中的逆序遍历实例
如果你需要遍历数字序列,可以使用内置range()函数.它会生成数列. range()语法: range(start,end,step=1):顾头不顾尾 正序遍历: range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9] range(1,10,2):指定start=1
-
python实现逆序输出一个数字的示例讲解
问题是:输入一个数字,按照指定要求逆序输出该数字,很简单,下面是实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:逆序输出一个数字 如果数字是正数直接输出如:177--->771 如果数字是负数保留负号如:-945--->-549 如果数字以0结果逆序后需要去除0如:100--->1 如果数字很大会造成溢出返回0即可 ''' def inverse_num(one_num): ''' 逆序输出一个数字 '''
-
python逆序打印各位数字的方法
如下所示: # -*- coding: utf-8 -*- # raw_input获取给定的一个不多于5位的正整数. # 一.求它是几位数: # 二.逆序打印出各位数字. def f(n): m = map(int, n) print "该数为%d位数"%len(m) m.reverse() for i in m: print i, if __name__=="__main__": n=raw_input("请输入一个多位数的正整数:") f(n
-
Python求解排列中的逆序数个数实例
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序. 一个排列中逆序的总数就称为这个排列的逆序数. 一个排列中所有逆序总数叫做这个排列的逆序数. 也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序. 一个排列中所有逆序总数叫做这个排列的逆序数. Python代码: def inverse_number(s
-
利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定.假定没有外力时,两个弹簧的长度为L1和L2. 由于两物体有重力,那么在平面上形成摩擦力,那么摩擦系数分别为b1和b2.所以可以把微分方程写成这样: 这是一个二阶的微分方程,为了使用python来求解,需要把它转换为一阶微分方程
-
Python统计文件中去重后uuid个数的方法
本文实例讲述了Python统计文件中去重后uuid个数的方法.分享给大家供大家参考.具体如下: 利用正则表达式按行获取日志文件中的的uuid,并且统计这些uuid的去重个数(去重利用set) import re pattern=re.compile(r'&uuid=.*&') uuidset=set() with open('request.log.2015-05-26','rt') as f: for line in f: all=pattern.findall(line) if len
-
Python 统计列表中重复元素的个数并返回其索引值的实现方法
需求:统计列表list1中元素3的个数,并返回每个元素的索引 list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2] 在实际工程中,可能会遇到以上需求,统计元素个数使用list.count()方法即可,不做多余说明 返回每个元素的索引需要做一些转换,简单整理了几个实现方法 1 list.index()方法 list.index()方法返回列表中首个元素的索引,当有重复元素时,可以通过更改index()方法__s
-
python计算列表内各元素的个数实例
如下所示: list = [1,2,3,4,5,6,7,5,4,3,2,12] set = set(list) dict = {} for item in set: dict.update({item:list.count(item)}) 以上这篇python计算列表内各元素的个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
Python读取VOC中的xml目标框实例
代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # get annotation object bndbox location import os import cv2 try: import xml.etree.cElementTree as ET #解析xml的c语言版的模块 except ImportError: import xml.etree.ElementTree as ET ##get object annotation bndbox l
-
python实现字符串中字符分类及个数统计
输入一个字符串,分别统计出其中英文字母.空格.数字和其它字符的个数,本文给出解决方法 编写思路: 1.字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列表有公共的语法 2.分不同的类别,若有符合条件的字符直接在类别数上加1就可以 初始代码: # -*- coding:utf-8 -*- letter=0 number=0 space=0 symbol=0 print "请输入字符串:" s=raw_input() for char in s: if c
-
python求解数组中两个字符串的最小距离
题目: 给定一个数组 strs,其中的数据都是字符串,给定两个字符串 str1,str2.如果这两个字符串都在 strs数组中,就返回它们之间的最小距离:如果其中任何一个不在里面,则返回 -1:如果两个字符串相等,则返回 0. 例如:给定['*','3','*','5','10','9','7','1','*'],再给定两个字符串'* '和'9',通过函数求得返回值 3. 分析:有两种方法 方法1: 遍历数组 strs,分别记录两个 str1 和 str2 的位置.求得最小的一个距离数字.这样做
-
python统计字符串中字母出现次数代码实例
代码如下 dic=dict() d={} s=set() s='helloworld' (1)d=dict() for x in s: if x not in d.keys(): d[x]=1 else: d[x]=d[x]+1 print(d) (2)d2=dict() for x in s: d2[x]=d2.get(x,0)+1 print(d2) (3)d3=dict() for x in s: d3[x]=s.count(x) print(d3) 上面一共给出了三种方法,均是以字典的形
随机推荐
- JavaScript正则表达式之后向引用实例代码
- VB6中的LSet语句和RSet语句详解
- PowerShell入门教程之创建和使用配置文件实例
- SQL Server实现自动循环归档分区数据脚本详解
- 基于AngularJS的拖拽文件上传的实例代码
- 我整理的PHP 7.0主要新特性
- JS控制网页动态生成任意行列数表格的方法
- 从文本文件中读取信息并存储入数据库
- 与文件上传有关的php配置参数总结
- 解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
- asp下用fso生成js文件的代码
- asp与js的类型转换函数介绍
- Linux中拷贝 cp命令中拷贝所有的写法详解
- c++11新增的便利算法实例分析
- jquery判断单选按钮radio是否选中的方法
- Windows2003网络服务器安全攻略
- Android开发入门之Appwidget用法分析
- Android手势ImageView三部曲 第三部
- bgsound 背景音乐 的一些常用方法及特殊用法小结
- php实现word转html的方法