java
小海同学@
消灭恐惧最好的办法就是面对恐惧
展开
-
蓝桥杯全排列扩展(找零钱问题-java详解)
题目:有n个人正在饭堂排队买海北鸡饭。每份海北鸡饭要25元。奇怪的是,每个人手里只有一张钞票(每张钞票的面值为25、50、100元),而且饭堂阿姨一开始没有任何零钱。请问饭堂阿姨能否给所有人找零(假设饭堂阿姨足够聪明)输入格式第一行一个整数n,表示排队的人数。接下来n个整数a[1],a[2],…,a[n]。a[i]表示第i位学生手里钞票的价值(i越小,在队伍里越靠前) 输出格式: 输出YES或者NO 样例输入 4 25 25 50 样例输出: YES整体思路很显然,这道题原创 2020-10-05 20:25:27 · 410 阅读 · 0 评论 -
java实现全排列(有重复)
全排列(有重复)上一部分的全排列是无重复的,咱们遍历的条件就是想办法让每一个数字只选择一次,选择过了 ,咱们就不选,利用continue跳过,但是如果有重复数字在里面,我们恐怕就不能用数字是否重复来判断这个数字是否选择了,如果这样判断的话,我们数字会永远缺了重复的那个数字。整体思路:整体思路其实就是上一部分无重复的全排列思路非常像,我们开始利用的是数字不重复来选取需要的数字,那么我们现在可以通过序号是否取过,取过咱们就不要,也就是说,另外开取一个容器,来装取出数字的序号,然后判断这个序号是否取过了,如原创 2020-10-04 19:37:38 · 2906 阅读 · 2 评论 -
java实现全排列(无重复)
全排列全排列就是将一串数字排列组合 列出所有的情况,分成有重复的和无重复的,一般来说没有重复数字的比有重复数字的更难的一些,不过大体思路都差不多,都需要用到回溯算法整体思路:1.就是把数字一个一个遍历,发现符合条件就加进去,不符合条件的就跳出去,那么这个容器就用ArrayList的形式那么代码就是:·public class number{ static ArrayList<String> w = new ArrayList();//符合条件的一组,就往里面装,装的是String类型原创 2020-10-03 18:57:38 · 2257 阅读 · 0 评论 -
蓝桥杯 算法训练 拦截导弹 动态规划(java详解)
拦截导弹(动态规划)ALGO-13VIP 算法训练 拦截导弹问题描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入原创 2020-08-17 14:13:55 · 1697 阅读 · 4 评论 -
蓝桥杯 算法训练 回文数 (各种进制算法)
回文数**问题描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。又如:对于10进制数87: STEP1:87+78 = 165 STEP2:165+561 = 726 STEP3:726+627 = 1353 STEP4:1353+3531 = 4884在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。写一个程序,给定一个N(2<原创 2020-08-16 10:57:26 · 1786 阅读 · 0 评论 -
蓝桥杯模拟训练(算法训练 幂方分解)java详细思路
算法训练 幂方分解问题描述 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b)。 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7= 22+2+20 (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如: 1315=210 +28 +25 +2+1 所以1315最后可表示为: 2(2(2+2(0原创 2020-08-12 15:58:48 · 268 阅读 · 0 评论 -
刷Pat的一些小总结(1)
1.字符串判定是否含有某字符串可以利用.containsString temp = "abcde"if(temp.contains("a")){System.out.println("YES");}2.将字符串当中的某个字符替代为另一个字符可以利用.replace String temp ="abced"; temp=temp.replace("a","A"); System.out.println(temp); temp=temp.replace("b",""); Syst原创 2020-07-16 18:05:46 · 158 阅读 · 0 评论 -
利用BufferedReader替代Scanner(提高效率)
1.直接读取一个数字:用Scanner:Scanner in = new Scanner(System.in);int a = in.nextInt();用BufferedReader:说明一下:因为我查了很多,就不太清楚BufferedReader能不能除了字符串之外的类型,如果可以的话,就麻烦大佬私聊我一下,感激不尽!所以我后面都是用BufferedReaderl来读取字符串,再将字符串转为自己所需要的类型...原创 2020-07-14 15:27:08 · 1276 阅读 · 0 评论 -
PAT乙级1001(详细思路)
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单原创 2020-07-03 19:52:15 · 500 阅读 · 0 评论 -
安装Navicat和数据库(内附超旧版本MySQL链接)
MySQL昨天刚刚接触数据库,然后下载,安装,配置巴拉巴拉的,居然给弄好了,然后来记述一下我是怎么认真操作(歪打正着)的~下面是链接↓链接:link提取码:otov链接地当中当中有三个东西:首先:然后出现的这个:...原创 2020-05-25 19:46:41 · 791 阅读 · 0 评论 -
java实现链表(储存,删除,插入,遍历)
数据结构之实现链表之前一直使用的是c语言学习数据结构,但是总体理解度不高,实在是难以理解,于是开始尝试利用java学习数据结构,理解程度不高,有错误可以指出(谢谢大佬~)进入正题:使用c语言学数据结构的时候,我之所以不能够理解链表的原因是其中的指针,以及其中的地址,但是经过一些地询问大佬,有了不少的理解,实现链表无非就是需要一个两个变量,一个是存放内容,一个是用来指路,也就是指向下一个节点,这个在c语言当中是有结构体的,在java当中可以用类来代替,然后这个指向下一个节点和自身的类相同,所以其中有一个原创 2020-05-20 17:30:03 · 1206 阅读 · 0 评论 -
java实现班级信息存储、删除、修改(使用list篇)
改进一下之前不用list实现的班级信息的储存、删除、修改。思路:1.与上篇一样写好基本信息2.利用list当中的add,remove等实现存储,删除,修改step 1:写好基本信息原创 2020-05-13 19:22:21 · 1595 阅读 · 0 评论 -
java实现班级信息存储、删除、修改(不用list篇)
总结一下最近学习的java可以不利用list来实现班级信息存储、删除、修改,也就是说有一点像数据结构的感觉,我会从班级属性的创建,到数据结构的简单算法都写得尽可能详细~思路:1.需要创建班级的属性,比如班级编号和班级姓名。2.设计简单算法实现存储、删除、修改。3.设计主函数并实现。step1:先把基础信息写好:public class Class{ String cName; int cNo; public Class(String cName,int cNo) { this.cN原创 2020-05-13 15:52:21 · 961 阅读 · 0 评论 -
javaSE制作简易QQ登陆页面(后篇)
之前博客大概介绍了IO流技术,已经利用IO流技术来存储QQ的聊天记录,现在也就是最后一步,实现QQ聊天的页面,也就是如何先显示登陆页面,经过简单验证并且正确之后,登陆页面消失,弹出的是发送页面,整个QQ聊天页面也就完成了!实现的要点就一个1.登陆页面的验证2.登陆页面的消失,主页面的出现发送页面基本没有变化package QQFrame;import javax.swing.*;im...原创 2020-05-05 19:51:08 · 278 阅读 · 0 评论 -
javaSE制作简易QQ登陆页面(中篇)
制作简易QQ登陆页面前面大概制作了一下QQ用户密码以及发送的页面,接下来需要做到的就是如何利用IO流来存储你所发送的内容,然后点击发送后可以把你所发送的内容再传输到发送页面。大致要点1.什么是IO流2.IO流大概是怎样存储文件信息3.如何将IO流储存的信息发送到文本区域当中我们就再次开始呗~step1:我们先了解一下IO流,我们大致晓得我们程序是在内存和CPU中运行,语句就是对CP...原创 2020-05-05 17:29:38 · 443 阅读 · 0 评论 -
javaSE制作简易QQ登陆页面(前篇)
制作简易QQ登陆页面学了好久的页面制作,总结一下下,以后遇到了什么问题可以回来翻一翻,同时记住的效果比较好。基本要点1.实现登陆与密码页面2.实现IO流存储信息3.实现简易聊天页面我们就开始呗~step1:我们先利用JFrame制作一个框架,记得导入javax.swing.JFrame(javax.swing. * ;问题也不大,不过还要用到JPanel,所以还是用 * 比较...原创 2020-05-03 12:03:40 · 444 阅读 · 0 评论 -
static和代码块小总结
第一次使用博客记录总结static和代码块小总结过程当时代码(简化)整个简化代码(只有统计实例化次数)加入static之后代码(只加static 其余代码不变)代码块构造代码块static和代码块小总结因为当时有同学问题目是说:如何在new对象的时候,new一个,系统自动+1?解决问题的时候,就有了static和代码块的一点点了解过程然后我就去找了一下资料和高年级的学长,利用static和...原创 2020-05-02 01:11:43 · 143 阅读 · 0 评论