《算法导论》第二章,讨论了归并排序,其中思考题2-4提出了逆序对问题,需要注意边界条件: # inversion 逆序对 A =[3,1,4,5,2,-3,6] def inversion(arr): ''' 冒泡版 ''' invs = [] for i in range(len(arr)): f ...
分类:
编程语言 时间:
2020-06-21 23:32:57
阅读次数:
67
ss=input()n=int(input())c=input() cnt= list(ss).count(c)if cnt<n: print('no')else: lt=ss.split(c) sum=0 for i in range(n): sum+=len(lt[i])+1 print(sum ...
分类:
其他好文 时间:
2020-06-21 15:33:53
阅读次数:
111
function generaterArray(min,max,step){ let len = Math.abs(max - min); if(len <= 0) return []; let arr = new Array(len); let cNum = min; let cIndex = 0 ...
分类:
编程语言 时间:
2020-06-21 14:04:14
阅读次数:
82
语法: for i in range(len(string): string[i:i+len(word)]解析:i取字符串下标,并且会向后移动,string去当前i值到定位字符长度位置的字符元素示例:判断字符个数 # def count_word2(string,word):# times = 0# ...
分类:
其他好文 时间:
2020-06-20 11:04:36
阅读次数:
41
1. 导入头文件 编写代码过程中,涉及动态内存分配等常用的函数,需要引入如下头文件 #include<stdio.h> #include<stdlib.h> 2. 结构体定义 len 表示初始化时的数组长度,队列的最大容量为len-1 typedef struct Queue { int * pDa ...
分类:
编程语言 时间:
2020-06-20 00:38:57
阅读次数:
65
题意:有一排座位,要求每人之间隔$k$个座位坐,$1$代表已做,$0$代表空座,问最多能坐几人. 题解:我们分别从前和从后跑个前缀和,将已经有人坐的周围的位置标记,然后遍历求每一段连续的$0$,对于每一段最多能坐$\lceil len/(k+1) \rceil$,求个和就可. 代码: #includ ...
分类:
其他好文 时间:
2020-06-19 14:26:17
阅读次数:
52
题意:有一组数,每次操作可以将某个数移到头部或者尾部,问最少操作多少次使得这组数非递减. 题解:先离散化将每个数映射为排序后所对应的位置,然后贪心,求最长连续子序列的长度,那么最少的操作次数一定为$n-len$. 感觉不好解释,直接上图,其实就是排序后它们一定是连续的,所以我们就求一个最长的连续的, ...
分类:
其他好文 时间:
2020-06-19 13:37:17
阅读次数:
39
import numpy as npprint (np.mean(my_list))def getmean(numericValues): return sum(numericValues)/len(numericValues) if len(numericValues) > 0 else floa ...
分类:
编程语言 时间:
2020-06-19 12:07:26
阅读次数:
50
一,字符串是序列 字符串和整形、浮点数以及布尔值很不一样。一个字符串是一个序列,意味着是对其他值的有序排列。 字符串就是一串有序的字符。你可以通过方括号操作符,每次去访问字符串中的一个字符: >>> fruit = 'banana' >>> letter = fruit[1] 第二个语句选择了 fr ...
分类:
编程语言 时间:
2020-06-18 22:08:37
阅读次数:
74
empty_dict = {}a_dict = {'one':1,'two':2,'three':3}print("{}".format(a_dict))print("{}".format(len(a_dict)))another_dict = {'x':'printer','y':5,'z':[' ...
分类:
编程语言 时间:
2020-06-18 16:09:00
阅读次数:
62