
算法
Herbnat
华中科技大学
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CSP“碰撞的小球” 15ms
模拟题。 #include <iostream> #include <cstring> using namespace std; struct Ball{ int pos; int d; //-1:left,1:right Ball(){} Ball(int a,int b):pos(a),d(b){} }a[105]; //声明a需要无...原创 2019-12-11 14:59:27 · 218 阅读 · 0 评论 -
python语言求排列的逆序数,分支算法实现,复杂度O(nlogn),附完整代码可运行
问题: 考虑1,2,3...n(n<=100000)的排列,比如263451中含有8个逆序(2,1),(3,1),(4,1),(5,1),(6,3),(6,4),(6,5),(6,1),即大的数在小的数的左边,就构成一个逆序对。 现给定1,2,...n的一个排列,求它的逆序数。 解题策略: 笨方法O(n^2) 分治O(nlogn) 分治的实现方法: 数组分为两半,分别求出左半边和...原创 2019-08-20 14:26:33 · 1960 阅读 · 2 评论 -
用Python实现表达式求值,递归解法和栈解法(附详细代码和测试)
问题描述: 输入四则运算表达式,仅由数字、+、-、*、/、()组成,没有空格,要求求其值,假设运算符结果都是整数,/结果也是整数 输入: (2+3)*(5+7)+9/3 输出: 63 第一种解法:eval()函数 >>> eval('(3+5)*2') 16 第二种解法:递归 搞清楚表达式的递归定义很关键 表达式=项或项的加减 项=因子或因子的乘除 因子=(...原创 2019-08-17 19:52:10 · 13857 阅读 · 3 评论