让我们用字母B来表示“百”、字母 S表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234 应该被输出为 BBSSS1234,因为它有 2 个“百…
分类:数据结构
数据结构(十二):快速排序
通过一趟排序将待排序元素分割成独立的两部分,其中一部分元素的值均比另一部分的值小,则分别对这两部分继续进行排序,直到整个序列有序 直接插入排序例子 流程: 把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果…
快速排序思想与实现
无整理 不简书 快速排序相对其他排序算法比较难理解,有大牛曾形象的比喻成挖坑填数,我会把大牛的博客链接放在本文末尾,共同学习,在此我把快速排序比喻成挖坑填数 + 分治法。分治法就是将复杂的问题分解成规模较小的问题,再各个…
N阶乘尾部的0个数
N阶乘尾部的0个数 描述 设计一个算法,计算出n阶乘中尾部零的个数 思路: 1、1 * 2 * 3 * … * n –> 1 * 2 * 3 * (2 * 2) * 5 * (2 * 3) …
1 为什么是数据分析专业?
大数据,从小笔记开始 数据分析或者说商业分析,是2018年美国研究生特别是商科研究生最为热门的新兴专业。 为什么这么多人在研究生阶段会选择这个专业? 根据自身的经历,我总结了以下几个理由: 1. 大数据的潮流(本科阶段可…
BZOJ-1057: [ZJOI2007]棋盘制作(悬线法解极大子矩阵)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1057 悬线法求极大子矩阵,最初先把到左上角的点的曼哈顿距离为奇数的数去一次异或,然后跑两次极大子矩阵就可以了。 (…
安卓算法06-动态规划
算法06-动态规划 一、介绍 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。它把多阶段过程转化为一系列单阶段问题,利用各阶段之间…
leecode刷题(16)-- 字符串转换整数
leecode刷题(16)– 字符串转换整数 字符串转换整数 描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止…
数据结构 桶排序/基数排序MSD c++ swift 版本
个人对MSD基数排序的理解 大多数排序算法是比较两个数的大小,而基数排序是分割一个数字比较。学习她会非常有价值的。 提取待排序的数字 的最高位,按从小到大0-9,分别放入10个木桶里装入。 然后分别再对10个木桶操作 上…
线段树模板题总结(1)
本专题总结了线段树的各种应用,参考了胡浩大佬的文章,把代码全部改成了自己的风格。 功能:单点增减,区间求和 参考例题为HDU1166 敌兵布阵 https://vjudge.net/problem/HDU-1166 #i…
动态规划—最大连续子序列
具体思想是将序列分割成很多个子序列,每个子序列开头的数都是整数,那么这些子序列都是候选最优解,然后计算每个子序列的数值和ThisSum比较出最大的MaxSum就是最终的最优解。 public class CB { pub…
算法:单词缩写
原题单词缩写 给出一组 n 个不同的非空字符串,您需要按以下规则为每个单词生成 最小 的缩写。 从第一个字符开始,然后加上中间缩写掉的字符的长度,后跟最后一个字符。 如果有冲突,就是多个单词共享相同的缩写,使用较长的前缀…