首页 > 编程语言 >蓝桥杯算法学习整理

蓝桥杯算法学习整理

时间:2022-12-02 21:02:45浏览次数:37  
标签:输出 JAVA temp int arraylist 蓝桥 算法 数组 整理


报名了蓝桥杯,但是对于算法的基础却不是很好,收集了一些学习的链接,以下链接都是转载自别人名下的博客文章,如果博主介意的话,请通知我立即删除。
供日后复习时使用:
前部分是摘录自:庞俊伟的博客

​​1.Java十进制数与其余进制数转换问题​​
​​2.进制转化知识完成各进制之间的转化​​
​​ 3.JAVA高精度数值运算方法,小数点后保留位数,结合相关例题进行介绍!​​
​​4.JAVA全排列​​
(这个有点理解不了。。。。。。)
​​5.入门训练(序列求和,圆的面积,Fibonacci数列)JAVA代码​​
​​6.数组排列(JAVA语言实现)​​
​​ 7.基础训练–特殊回文数,特殊的数字,回文数(JAVA)​​
文章中的代码缺少了限制条件,题目中要求的四位数 五位数,六位数没有加入限制条件,会导致输出的内容里包含位数少于题目的数据。可以在集合arraylist添加数据的前面加入一条判断语句,if(代加入的数 >10000),这样就可以避免添加一些较小的数据了。
唯一不解的是由于符合条件的数据较多,看着比较乱,在输出的时候,加一个条件,每行输出10个数据,之后加入一个换行,但是这个条件语句加入之后,导致程序明显慢了很多。。。。甚至半天了还是没有输出数据
​​8.基础训练–杨辉三角、查找整数,数列特征、01字串–Method​​
需要注意一点:for循环的起时值,赋值是外层循环从2开始,内层是从0开始。
文章中杨辉三角的代码块中有瑕疵,for语句嵌套循环赋值和输出时,内层循环为for(int j=0; j <= i; j++),否则将导致每行的最后一个1无法输出
​​9.基础训练–贪心Huffman树、字母图形–讲解​​
此处的贪心Huffuman方法有错误,可以借鉴下面的方法,个人感觉思路比较清晰:

import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;
public class huffuman
{
//贪心Huffuman方法
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //第一行先确定输入的个数
ArrayList<Integer> arraylist = new ArrayList<>();
for (int i=0; i<n; i++ ) //将待计算的数据加入到集合中
{
arraylist.add(sc.nextInt());
}
int sum = 0; //初始化消耗的费用

while (arraylist.size() > 1)
{
Object[] temp = arraylist.toArray(); //将集合转换为数组
Arrays.sort(temp); //排序
arraylist.removeAll(arraylist); //删除原来的数据,将排好序的数组加到集合里面
for (int i=0; i < temp.length; i++ )
{
arraylist.add((Integer)temp[i]);
}
int a = arraylist.get(0) + arraylist.get(1); 保存此次排序的两个最小值之和
sum += a; //费用累加
//这里两次删除第一个元素,即删掉了原来排序中最小的两个数值
arraylist.remove(0);
arraylist.remove(0);
//将最小值的和添加到集合当中去
arraylist.add(a);
}
System.out.println(sum);
}
}

图形这个实在是理解不了,第一行遍历的时候:c[i] = (char)’B’ + i 为什么是B而不是A呢?试了一下,用A的话,第一行输出的第一个元素就是@了而不是A
//2018/3/18编辑:今天翻阅代码时,在第一次for循环之后打印出数组发现,第一次初始化数组后数组为:BCDEFGH,这样在后面的每行输出时,针对这一行的数据,加上行数和输出下标的判断条件 就可以改变输出的数据了
​​10.2n皇后—-(回溯法,Java)​​
看了很多这道题的解法,就数这个博主的注释很多,但是还是有点不太理解,记录下来,以后接着学习。



标签:输出,JAVA,temp,int,arraylist,蓝桥,算法,数组,整理
From: https://blog.51cto.com/linmengmeng/5907464

相关文章

  • 蓝桥杯 ALGO-47算法训练 蜜蜂飞舞
    时间限制:1.0s内存限制:512.0MB问题描述“两只小蜜蜂呀,飞在花丛中呀……”话说这天天上飞舞着两只蜜蜂,它们在跳一种奇怪的舞蹈。用一个空间直角坐标系来描述这个......
  • 蓝桥杯 ALGO-54算法训练 简单加法(基本型)
    时间限制:1.0s内存限制:512.0MB问题描述首先给出简单加法算式的定义:如果有一个算式(i)+(i+1)+(i+2),(i>=0),在计算的过程中,没有任何一个数位出现了进位,则称其为......
  • 蓝桥杯 ALGO-57算法训练 删除多余括号
    时间限制:1.0s内存限制:512.0MB问题描述从键盘输入一个含有括号的四则运算表达式,要求去掉可能含有的多余的括号,结果要保持原表达式中变量和运算符的相对位置不变,且与......
  • golang的插入排序算法
    1、什么是插入排序?先看一个例子:{7,6,1,9,3}无序数列中,我们约定好无序数列的第一个元素7作为有序数列{7},然后分别对{6,1,9,3}的数与7进行比较移位得到新的有序数列。第一次迭......
  • CSS3 filter(滤镜) 属性使用整理
    一、CSS3filter(滤镜) 1.定义filter属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度)。默认值:none继承:no动画支持:是。详细可查阅 CSS动画......
  • ConfigMap/Secret:怎样配置、定制应用(chrono《kubernetes入门实战课》笔记整理)
     【概念说明】Kubernetes里专门用来管理配置信息的两种对象:ConfigMap和Secret,使用它们来灵活地配置、定制我们的应用。配置根据数据安全划分,分为两种:明文配置:不加密......
  • 【算法】用面向对象的方法求出数组中重复 value的个数,按如下个数输出:
    1出现:1次3出现:2次8出现:3次2出现:4次int[]arr={1,4,1,4,2,5,4,5,8,7,8,77,88,5,4,9,6,2,4,1,5};今天看一个关于基础资料的文档,里面有这么一道算法题。刚开始看了一下,只......
  • 算法记录--好多内容也是借鉴大神的
    1、链表翻转/*publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;}}*/publicclassSolutio......
  • Python中mro继承顺序查询之C3算法
    1.mro遍历顺序1. python中存在多继承:A同时继承B和C,B继承E,C继承F,E和F最终继承object,如果我们访问A的实例对象的属性,他的查找方法遵循C3算法,(之前是深度优先查询,一条路......
  • 蓝桥杯 ALGO-31算法训练 开心的金明
    时间限制:1.0s内存限制:256.0MB关键字:01背包动态规划问题描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,......