![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法练习
文章平均质量分 51
追梦者__Alomiga
这个作者很懒,什么都没留下…
展开
-
算法练习——排序后的数组删除重复数字
给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。例如:数组 A[] = [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]你的算法需要返回新数组的长度 55,此时 AA 为 [1,1,2,2,3][1,1,2,2,3]。输入格式第一行输入一个不超过 200200 的数字 nn,第二行输入 A[n]A[n]。原创 2017-10-23 23:14:02 · 243 阅读 · 0 评论 -
阶乘运算
问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。输...原创 2018-03-10 17:22:25 · 2329 阅读 · 0 评论 -
高精度加法
时间限制:1.0s 内存限制:512.0MB 问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A...原创 2018-03-10 18:39:24 · 261 阅读 · 0 评论 -
Huffman树
时间限制:1.0s 内存限制:512.0MB 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa ...原创 2018-03-10 19:50:03 · 141 阅读 · 0 评论 -
2n皇后问题
#include#includeusing namespace std;const int maxn = 8;int A[maxn][maxn];int B[maxn],C[maxn];int tot = 0;void black(int n, int cur){ if (cur == n ) tot++; else for (int i = 0; i<n; i++)原创 2018-03-12 17:35:20 · 134 阅读 · 0 评论