自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 算法设计(贪心算法):求解区间覆盖问题 JAVA代码实现及思路

求解区间覆盖问题题目内容:设x1,x2,… ,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?设计求解此问题的有效算法。对于给定的实直线上的n个点和闭区间的长度k,编程计算覆盖点集的最少区间数。输入格式:输入数据的第一行有2个正整数n和k,表示有n个点,且固定长度闭区间的长度为k。接下来的1行中,有n个整数,表示n个点在实直线上的坐标(可能相同)...

2019-04-03 18:19:06 2334

原创 算法设计(贪心算法):求解畜栏问题 JAVA代码实现及思路

求解畜栏问题题目内容:有n头牛(1<=n<=50,000)要挤奶。给定每头牛挤奶的时间区间【A,B】(1<=A<=B<=1,000,000,A,B为整数)。牛需要呆在畜栏里才能挤奶。一个畜栏同一时间只能容纳一头牛。问至少需要多少个畜栏,才能完成全部挤奶工作,以及每头牛都放哪个畜栏里?注意:在同一个畜栏的两头牛,它们挤奶时间区间不能在端点重合。输入格式:第1行:...

2019-04-03 18:09:57 1427

原创 浙江大学PAT (Basic Level) Practice (中文)1018锤子剪刀布JAVA实现代码及分析

1018锤子剪刀布这道题我觉着只能一次一次判断和记录甲方和乙方出手的状态和胜负,最后按照题目要求的格式进行记录数据的输出。但是用JAVA写成我这个样子的话有一个测试点超时过不去,这道题我也没用C++按照同样的逻辑再写一次,但是我觉着我这个逻辑上没什么问题,有大佬有更好的解法的话欢迎在评论区指点小生一下。具体实现代码如下:import java.util.Scanner;publi...

2019-03-25 21:12:21 381

原创 浙江大学PAT (Basic Level) Practice (中文)1017A除以BJAVA实现代码及分析

1017A除以B本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。这道题用JAVA其实挺简单的,前提是没有时间限制(笑…)(不过这里还是要吐槽一下JAVA的响应是...

2019-03-23 16:20:14 418

原创 算法设计(动态规划):机器人路径规划(JAVA代码实现及题目分析)

机器人路径规划题目内容:一个机器人只能向下和向右移动,每次只能移动一步,设计一个算法求机器人从(0,0)到(m,n)有多少条路径。输入格式:以空格分开m,n输出格式:路径条数输入样例:4 5输出样例:35这个题还是蛮简单的,不过需要注意的一点是这个题目有点问题,它题目给出的(m,n)在数组里是指[m-1][n-1],不信的你可以自己在纸上演算一下,确实是题目这里没有说清楚。因...

2019-03-23 01:08:09 4658

原创 算法设计(动态规划):新水果取名(JAVA代码实现及题目分析)

新水果起名问题题目内容:两种水果杂交出一种新水果,现在给新水果取名,要求这个名字中包含以前两种水果的字母,且名字尽量短,即:以前的水果名字arr1、arr2是新水果名arr的子序列,使用动态规划的思想设计算法得到新水果名arr。输入格式:以空格分开两个水果的名字输出格式:新水果的名字输入样例:apple peach输出样例:appleach这个沙雕问题浪费了我三个小时(NMD...

2019-03-23 00:56:14 2104 1

原创 算法设计(动态规划):拦截导弹问题(JAVA代码实现及题目分析)

拦截导弹问题题目内容:某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。输入格式:第一行,输入雷...

2019-03-22 15:51:24 1873

原创 浙江大学PAT (Basic Level) Practice (中文)1016部分A+BJAVA实现代码及分析

1016部分A+B因为输入的数范围比较大,所以我个人的思路1是将输入的两个正整数以字符串转字符数组的格式输入并保存,然后根据输入的P的值进行字符比较得出相同字符的个数,然后将Pa和Pb的值计算并相加之后进行输出。具体实现代码如下:import java.util.Scanner;public class Main { public static void main(String...

2019-03-21 22:34:16 369

原创 浙江大学PAT (Basic Level) Practice (中文)1015德才论JAVA实现代码及分析

1015德才论宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤10^​5​​),即考生总数;L(≥60),为录取最低分数线,即德分和才...

2019-03-20 21:30:53 674 1

原创 Linux操作系统学习笔记3

ls命令的使用显示目录下所有文件,包括隐藏文件 ls -a 显示目录下详细信息 ls -l 显示目录信息 ls -d 按时间顺序排序 ls -t查看系统是多少位系统uname -a查看CPU信息cat /proc/cpuinfo | less查看内存信息cat /proc/meminfo | less关机...

2019-03-20 21:18:35 138

原创 Linux操作系统学习笔记2

显示当前用户在哪个终端下who am i清除屏幕clear,ctrl + l取消命令ctrl + c删除所有的字符,从光标位置起,一直到开头ctrl + u删除所有的字符,从光标位置起,一直到结尾ctrl + k光标移动到最前ctrl + a光标移动到最后ctrl + e暂停屏幕,一般用于动态日志查看ctrl + s取消暂停屏幕ctrl + q...

2019-03-18 22:30:12 185

原创 浙江大学PAT (Basic Level) Practice (中文)1014福尔摩斯的约会JAVA实现代码及分析

1014福尔摩斯的约会这道题需要注意的地方有以下几点:①决定星期几的是前两个字符串的第一个相同的大写字母,注意是第一个大写的字母,小写不算。②决定分钟数的是后两对字符串的第一个相同的字母所出现的位置,也就是它的下标位置,这里大小写字母均可以但是不可以是其他字符。③小时和分钟的输出格式是两位输出,也就是说不足两位时要在前面加0补足位数之后进行输出。具体实现代码如下:import ja...

2019-03-15 13:24:29 251

原创 Linux操作系统学习笔记1

Linux系统操作学习笔记1配置网卡vi /etc/sysconfig/network-scripts/ifcfg-*配置详情BOOTPROTO=staticIPADDR=IP地址NETMASK=255.255.255.0GATEWAY=网关重启服务service network restart配置DNSvi /etc/resolv.conf配置详情name...

2019-03-15 13:03:17 164

原创 浙江大学PAT (Basic Level) Practice (中文)1013数素数JAVA实现代码及分析

1013数素数这道题的核心还是快速找素数,我个人的思路是先创建一个足够大的数组(其中至少有一万个素数),然后先将这些数的质合判断出来,最后再根据输入的范围输出相应的质数。具体代码实现如下:import java.util.Scanner;public class Main { static boolean ZS[]=new boolean[120001]; public st...

2019-03-14 11:02:29 229

原创 浙江大学PAT (Basic Level) Practice (中文)1012数字分类JAVA实现代码及分析

1012数字分类这道题需要注意的地方有两个:一个是A2计算有效性的判断;另一个是A4的输出格式。重点是A2计算是否有效这一点,因为判断某一类数字不存在的条件是它是否等于0,但是A2有可能一开始就不存在,也有可能是经过一系列的计算之后得到了为0的结果,此时不能输出字符“N”,因为A2是经过有效计算的,要输出它本身的0值。A4的输出格式直接按照浮点数小数点后保留一位的格式进行输出。代码如...

2019-03-13 18:04:26 315

原创 浙江大学PAT (Basic Level) Practice (中文)1011A+B 和 CJAVA实现代码及分析

1011A+B 和 C这道题没什么难度,注意一下输出格式就好了。代码如下:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input=new Scanner(System.in); long a[...

2019-03-10 14:51:56 436

原创 浙江大学PAT (Basic Level) Practice (中文)1010一元多项式求导JAVA实现代码及坑点分析

1010一元多项式求导这道题需要注意的点稍微比较多,因为我也是掉进去了坑里面,然后浪费了不少的时间。这里先总结一下这道题需要注意的细节和坑点:①题目没有说输入之后完成输出就退出,也就是说题目要求有一组输入即给出一组输出,不能只输入一组数据后就结束程序。②非零多项式的零项不进行输出。(这一点也是我当时误解了题意,以为零多项式就是指零项,然后没有去注意到第三点)③输入零多项式的时候输出"0 ...

2019-03-09 13:46:56 233

原创 浙江大学PAT (Basic Level) Practice (中文)1009说反话JAVA实现代码及分析

1009说反话给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。我对这道题的理解是将输入的字符串以空格...

2019-03-09 13:27:40 211

原创 浙江大学PAT (Basic Level) Practice (中文)1008数组元素循环右移问题JAVA实现代码及分析

1008数组元素循环右移问题一个数组A中存有N(&gt;0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包...

2019-03-06 23:23:05 243

原创 浙江大学PAT (Basic Level) Practice (中文)1007素数对猜想JAVA实现代码及分析

1007素数对猜想让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n&amp;gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(&amp;lt;10​5​​),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素...

2019-03-05 20:52:44 232

原创 浙江大学PAT (Basic Level) Practice (中文)1006换个格式输出整数JAVA实现代码及分析

1006换个格式输出整数用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(&lt;10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(&lt;1000)。输出格式:每个测试用例的输出占一...

2019-03-04 20:09:55 245

原创 浙江大学PAT (Basic Level) Practice (中文)1005继续(3n+1)猜想JAVA实现代码及分析

1005继续(3n+1)猜想卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3...

2019-03-03 13:54:13 275

原创 浙江大学PAT (Basic Level) Practice (中文)1004成绩排名JAVA实现代码及分析

1004成绩排名读入 n(&gt;0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为...

2019-03-02 21:16:47 286

原创 浙江大学PAT (Basic Level) Practice (中文)1003我要通过!JAVA代码实现及其规律分析

1003我要通过!这道题和1001,1002比起来难度其实并没有什么差别,我个人认为这道题主要是在于读懂题目的要求:1、题目要求字符串中只能含有‘P’,‘A’,‘T’三种字符。2、xPATx形式的字符串是正确的字符串,这条规则要求:①‘P’和‘T’之间至少要有1个‘A’字符的存在②类似PAT,APATA,AAPATAA,AAAPATAAA等等这些首尾‘A’数量相等的字符串是正确的3...

2019-03-02 00:04:13 274

原创 浙江大学PAT (Basic Level) Practice (中文)1001(3n+1)猜想-1002写出这个数JAVA实现代码

1001害死人不偿命的(3n+1)猜想卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有...

2019-03-01 21:59:47 345

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除