随笔- 67
文章- 0
评论- 0
阅读-
12583
03 2022 档案
2015年蓝桥杯 Java 省赛试题及答案 C组
摘要:题目1. Excel 表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。 小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,… 现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。 请你直接提交这个整数,千万不要填写任何多余的内容。 public st
阅读全文
2014年第五届蓝桥杯省赛试题及详解(Java本科C组)
摘要:1. 猜年龄 小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的妹妹的年龄。 注意: 只写一个人的年龄数字,请通过浏览器提交答案。 package 蓝桥2014C组;
阅读全文
蓝桥2013年C组练习
摘要:蓝桥2013年C组练习 第一题:猜年龄 题目描述: 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这
阅读全文
递推法与递归法
摘要:递归算法 递归算法是一种从自顶向下的算法 ,实际上是通过不停的直接调用或者间接的调用自身的函数,通过每次改变变量完成多个过程的重复计算,直到到达边界之后,结束调用。 与递推法相似的是,递归与递推都是将一个复杂过程分解为几个简单重复步骤进行计算。 实现的核心是分治策略,即分而治之,将复杂过程分解为规模
阅读全文
打表法和模拟法
摘要:打表法和模拟法 例题1: 题目描述: 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种可能的正确填写方法? 173 + 286 = 459 295 + 173 = 4
阅读全文
内置模板
摘要:内置模板 1. Vector 容器(类),主要作用就是可变长度的数组,就把他当成数组使用 //第一种构造方法创建一个默认的向量,默认大小为 10: Vector() //第二种构造方法创建指定大小的向量。 Vector(int size) //第三种构造方法创建指定大小的向量,并且增量用 incr
阅读全文
哈希表
摘要:哈希表:(数组和单向链表的结合体) 1.引入: 散列表(Hash table,也叫哈希表),是根据关键码值(关键字,对象的关键属性)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 散列查找法:(
阅读全文
队列
摘要:队列 (先入先出原则) 如果说链表和顺序表是对数据的存取位置的组织方式,那么队列就是一种对于存取方式限制的组织方式。换一种方式描述的话就是,队列既可以采用链表来表示,也可以采用数组(线性表)来表示,我们限制的是对于存放数据的存取方式。 出从队首出,入插入队尾 队列:只允许在一端进行插入操作,而另一端
阅读全文
栈(stack) 先进后出
摘要:栈(stack) 先进后出 栈:只允许在一端进行插入、删除操作的线性表。 空栈:不含任何数据元素的栈。 允许插入(也称进栈、压栈、入栈)、删除(也称出栈)的一端称为栈顶。 1. 用数组模拟栈的实现: 小邋遢的衣橱 小邋遢 MS.Jinlin 是个爱打扮的公主,他有很多晚礼服如"LALA" "NIHA
阅读全文
枚举法
摘要:枚举法 枚举算法解题的基本思路: 确定枚举解的范围,以及判断条件 选取合适枚举方法,进行逐一枚举,此时应注意能否覆盖所有的可能的解,同时避免重复。 在枚举时使用判断条件检验,留下所有符合要求的解。 1. 简单型枚举 就是可以通过简单的 for 循环嵌套就可以解决的问题 42 点问题 题目描述: 众所
阅读全文
组合的递归算法
摘要:组合的递归算法 1. 无重复项的组合 以数组a[5]={1,2,3,4,5}为例,用C(5,num)表示从这5个数中选择num个数,求其所有的情况。 首先要明确,求一组数的组合问题,元素是没有位置要求的,即对于C(5,3)的求解{1,2,3}和{3,2,1}是一种情况。因此,为了防止结果的多余项,必
阅读全文
差分与前缀和
摘要:差分与前缀和 1. 差分法 (解决区间加减问题) 当某一个数组要在很多不确定的区间,加上相同的一个数。我们如果每个都进行加法操作的话,那么复杂度 O(nm) 是平方阶的,非常消耗时间。 **如果我们采用差分法,将数组拆分,构造出一个新的拆分数组,通过对数组区间的端点进行加减操作,最后将数组和并就能完
阅读全文
二分法实例
摘要:二分法实例 分巧克力 题目描述 儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足: 形状是正方形,边长
阅读全文
贪心样例
摘要:贪心算法的实例练习 贪心算法与枚举法的不同之处在于每个子问题都选择最优的情况,然后向下继续进行,且不能回溯,枚举法是将所有情况都考虑,然后选出最优的情况。 贪心算法,在对问题求解时,不从整体考虑,而是采用一叶障目的选择方式,只选择某种意义上的局部最优解。并且,贪心算法是没有固定的模板可以遵循的,每个
阅读全文
贪心算法
摘要:贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,在每一步选择中都采取最好或最优/最有利的选择,从而希望能够导致结果是最好的算法。 贪心算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不考虑各种可能的整体情况,省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪心
阅读全文
动态规划
摘要:动态规划(DP) 动态规划,(Dynamic Programming) : 通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。 分治与动态规划 共同点:二者都要求原问题具有最优子结构性质,都是将原问题分而治之,分解成若干个规模较小(小到
阅读全文
分治算法
摘要:分治算法 分治法,字面意思是**“分而治之”**,就是把一个复杂的问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并。 由分治法产生的子问题往往是原问题的较小模式,这就为使用递归技术提供了方便。反复应用分治手段,可以使子问题
阅读全文
二分查找
摘要:二分查找(又称折半查找) 1. 适用场景:顺序存储结构且按有序排列 2. 查找过程: 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一
阅读全文
图 DFS BFS
摘要:图 线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。 图是一种非线性数据结构,由顶点(vertex)和边(edge)组成,每条边都连接着两个顶点。 图分为有向图和无向图。 将边带有权值的图称作带权图 图的表示方法:
阅读全文
栈及应用
摘要:栈(stack) 先进后出 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈(PUSH),它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或
阅读全文
全排列
摘要:全排列 1. 交换法: 将要全排列的各个元素放在数组中,然后数组中的元素进行交换 先考虑第一位的情况,依次 考虑剩余位 例如 ; [ A, B ,C] 数组下标;k=0 (第一位) : A[] B[] C[] k=1(第二位):在 A[]这个分支: AB[C] AC[B] k=2(第三位):在 A[
阅读全文
递归
摘要:递归 1. 调用机制 递归就是方法自己调用自己,每次调用传入不同的变量 public class DiGui { public static void main(String[] args) { test(4); } //打印问题 public static void test(int n) { i
阅读全文
TreeSet集合实现自动排序的要求 平衡二叉树 Collections工具类
摘要:Map集合的key和Set集合存储元素的特点相同(无序,不可重复),Map集合的key,就是一个Set集合,往Set集合中放数据,实际上放到Map集合的key部分 1. Hashtable类的子类是Properties 了解Hashtable类:实现Map接口,底层采取了哈希表这种数据结构,是线程安
阅读全文
HashMap集合
摘要:Map接口实现类之一:HashMap集合 1. 底层是哈希表/散列表的数据结构 哈希表:是一个一维数组,这个数组中的每一个元素是一个单向链表(是数组和单向链表的结合体) /*源代码: * public class HashMap<K,V>{ * //1. HashMap的底层是一个一维数组 * tr
阅读全文
Collection 接口的子类型: Set 接口 Map接口
摘要:Collection 接口的子类型: Set 接口:无序(存进和取出的顺序不同),不可重复,元素没有下标 实现Set接口:HashSet类;SortedSet接口是Set接口的子接口,SortedSet接口的实现类:TreeSet类实现了Set接口; 1. HashSet类 底层采取了哈希表这种数据
阅读全文
Collection 下的子接口List接口 泛型 foreach
摘要:Collection 下的子接口List接口,List接口实现的类有:ArrayList,Vector,LinkedList 1. List接口中的特有的方法: **List集合中存储元素特点:有序可重复(有下标),有序指存进去的顺序与取出时相同 ** 1)void add(int index, O
阅读全文
单链表
摘要:单链表 先说一下在C语言中的链表: 每个节点包含两个域,存数据元素信息的叫数据域(data域),存储直接后继(下一个节点)的存储位置的叫指针域(next域) 首元结点是指表中存储第一个数据的结点,头结点(head)是在首元结点之前附设的一个结点,其指针域指向首元结点;头指针是指向链表中第一个结点的指
阅读全文