- 博客(33)
- 收藏
- 关注
原创 一个数组包含 n-1 个成员,这些成员是 1 到 n 之间的整数,且没有重复,请找出缺少的那个数字。
大家可能会想到把数组遍历一遍,把这n-1个数加起来,得到sum1.然后再对1到n求和,得到sum2.最后缺少的数字就是sum2-sum1.但是如果面试官继续问,还有没有更快的方法的?其实异或运算是最快的,把数组所有的元素异或,再对1~n的整数进行异或,最后得到的结果就是缺少的数字.(力扣136题类似)异或的几个性质:x ^ 0 = xx ^ x = 0x ^ y ^ y = x ^ (y ^ y) = x ^ 0 = x...
2022-03-30 17:10:01
500
原创 PAT乙级 1017 A除以B(C语言)
本题要求计算A/B,其中A是不超过 1000 位的正整数,B是 1 位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。输入格式:输入在一行中依次给出A和B,中间以 1 空格分隔。输出格式:在一行中依次输出Q和R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 3#include <stdio.h>#include <s...
2022-03-09 00:30:46
679
原创 PAT 1015 德才论(C语言)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考..
2022-02-25 18:08:20
283
原创 PAT 1014 福尔摩斯的约会(C语言)
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母A...
2022-02-25 18:06:22
142
原创 PAT 7-5 Tree Traversals Again
An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack operations are: push(1); push(2); push(3); pop(); pop(
2022-02-24 18:11:45
74
原创 PAT 7-4 List Leaves
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integerN(≤10) which is the total number of no..
2022-02-24 18:09:24
160
原创 PAT 7-3 Pop Sequence
Given a stack which can keepMnumbers at most. PushNnumbers in the order of 1, 2, 3, ...,Nand pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, ifMis 5 andNis 7, we can obta...
2022-02-24 18:07:04
124
原创 PAT 7-2 Reversing Linked List
Given a constantKand a singly linked listL, you are supposed to reverse the links of everyKelements onL. For example, givenLbeing 1→2→3→4→5→6, ifK=3, then you must output 3→2→1→6→5→4; ifK=4, you must output 4→3→2→1→5→6.Input Specification:Eac...
2022-02-24 18:03:22
528
原创 PAT 7-1 Maximum Subsequence Sum
Given a sequence ofKintegers {N1,N2, ...,NK}. A continuous subsequence is defined to be {Ni,Ni+1, ...,Nj} where1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For example, given seq...
2022-02-23 16:20:00
75
原创 PAT 7-51 两个有序链表的合并
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10水题, 简单但流程复杂#includ..
2022-02-23 16:16:33
118
原创 PAT 7-3 树的同构
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N(≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点.
2022-02-23 16:15:14
91
原创 PAT 7-2 一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30
2022-02-23 16:10:45
318
原创 PAT 6-12 二叉搜索树的操作集
本题要求实现给定二叉搜索树的5种常用操作。函数接口定义:BinTree Insert( BinTree BST, ElementType X );BinTree Delete( BinTree BST, ElementType X );Position Find( BinTree BST, ElementType X );Position FindMin( BinTree BST );Position FindMax( BinTree BST );其中BinTree结构定义如下:
2022-02-23 16:06:56
132
原创 PAT乙级 1013 数素数
令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103创建一个素数表.创建一...
2022-02-23 16:00:17
484
原创 PAT乙级 1012 数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和; A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯; A3= 被 5 除后余 2 的数字的个数; A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数N,随后...
2022-02-23 15:58:12
97
原创 PAT乙级 1011 A+B和C
给定区间 [−231,231] 内的 3 个整数A、B和C,请判断A+B是否大于C。输入格式:输入第 1 行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出Case #X: true如果A+B>C,否则输出Case #X: false,其中X是测试用例的编号(从 1 开始)。输入样例:41 2 32 3 42147483647 0...
2022-02-23 15:57:09
491
原创 PAT乙级 1009 说反话
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello很简单, 还是注意字..
2022-02-23 15:53:53
400
原创 PAT乙级 1010 一元多项式求导
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为0 0。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0这道题重点在字符串处理, 题目中为给出多项..
2022-02-23 15:52:35
76
原创 PAT乙级 1008 数组元素循环右移问题
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序
2022-02-19 12:25:15
449
原创 PAT乙级 1007 素数对猜想
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。输入样例:20输出样例:4我的解法是构建出一张素数表, 最后测试结果花了125ms, 看了其他人的解法直接判断i数和i.
2022-02-19 12:23:12
97
原创 PAT乙级 1006 换个格式输出整数
让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例 1:234输出样例 1:BBSSS1234输入样例 2:...
2022-02-19 12:17:29
262
原创 PAT乙级 1005 继续(3n+1)猜想
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数n为“关键数”,如果n不能被数列中的其他数字所覆...
2022-02-19 12:12:38
74
原创 PAT乙级 1004 成绩排名
读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:.
2022-02-19 12:08:30
64
原创 PAT乙级 1003 我要通过
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P、A、T这三种字符,不可以包含其它字符; 任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串; 如果aPbTc是正确的,那么aPbATca也是正确的,其中a、b、c均或者是空字符串,或者是仅由字母A...
2022-02-19 12:04:11
66
原创 PAT乙级 1002 写出这个数
读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu过程很繁琐的一道题, java代码实现, 数字转拼音要用多个switch case分段...
2022-02-19 11:58:25
64
原创 PAT乙级 1001 害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n.
2022-02-19 11:55:19
68
原创 Spark学习笔记
迭代计算mapreduce中间结果处理太慢大量磁盘IO开销/序列化和反序列化开销不等数据落地管道化处理rdd本质是一个只读的分区记录集合高度受限共享内存模型生成新rdd来修改算子只能一次针对rdd全集进行转换不适合细粒度修改(单条修改),不适合网页爬虫惰性调用机制(只记录转换轨迹)遇到动作算子的时候才会触发计算,执行转换操作rdd间的血缘关系实现高容错性通过寻亲恢复数据checkpoint不保留血缘关系(新建一个job)保留血缘关系有一定的性能开销lineage血缘容错宽
2022-02-19 11:50:58
775
原创 力扣题目: 爬楼梯 递归+回溯
题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?可以通过递归解决, f(n) = f(n-1) + f(n-2), 爬n阶楼梯的方法数等于爬前n-1阶和爬前n-2阶楼梯之和. 因为爬到n-1阶, 再爬1阶就能达到n阶, 爬到n-2阶, 只能爬2阶才能达到n阶, 从n-1或者n-2到达n阶都只有一种方法. 所以此题类似于一个斐波那契数列, 那么还需要设置一个递归出口, 我们发现当n = 1时,只有爬1阶一种方法, 当n = 2
2022-02-19 11:44:28
792
原创 计算机网络学习笔记
计算机网络主要由硬件,软件,协议组成边缘部分:所有连接到因特网上供用户使用的主机核心部分:大量网络+路由器通信子网:由传输介质,通信设备和响应的网络协议组成资源子网:实现资源共享功能的设备及软件集合计算机网络的功能:数据通信/资源共享/分布式处理/提高可靠性(互为替代机)/负载均衡计网分类:广域网/城域网/局域网/个人区域网 广播式网络/点对点网络 总线型网络/星形网络/环形网络/网状形网络 电路交换网络/报文交换网络/分组交换网络时延:发送时延/传播时延/处理时延(分...
2022-01-09 03:58:04
166
原创 操作系统学习笔记
基本特征:并发/共享(资源被多个进程共用)/异步/虚拟最基本特征:并发/共享主要功能:处理机管理/存储器管理/文件管理/设备管理手工操作阶段批处理阶段(单/多)分时操作系统(交互性好)实时操作系统(硬/软)优先处理紧急任务特权指令(只能os使用)/非特权指令内核程序/应用程序用户态/核心态/用户态到核心态/核心态到用户态内中断(自用中断/强迫中断)/外中断(外设请求/人工干预)系统调用:系统给程序员提供的唯一接口,在用户态发生,核心态处理体系结构:大内核/微内核进程是计算机中的程
2022-01-05 17:03:43
445
原创 计算机组成原理学习笔记
运算器存储器控制器io输入输出两种信息流:控制信息流/数据信息流控制信息流:指令信息/状态信息/时序信息编译程序:先完整编译后运行的程序解释程序:一句一句翻译/边翻译边执行的程序(不生成目标代码)汇编程序CPI 一条指令所需时钟周期运行时间=指令数*CPI/主频溢出(双符号位)大墙方式(大端):反着放/最高有效字节在前小墙方式(小端):顺着放浮点数:阶符/阶码的数值部分/数符/尾数的数值部分IEEE754:数符/阶码(移码表示)/尾数(原码表示)短浮点数float(单精度)
2022-01-01 21:24:33
381
原创 hadoop学习笔记
namenode: 管理目录树 维护元数据(路径,块信息,物理存储位置,副本数量) 为客户端提供查询服务datanode: 管理文件块(帮客户端读写文件块) 心跳机制hdfs写入流程:1. Cli向namenode申请写入文件2.namenode检查元数据,响应Cli可以写入3.Cli请求写入第一个block4.namenode向Cli响应写入的datanode位置5.Cli向第一个datanode请求写入block,请求建立socket连接 第一个datan...
2022-01-01 14:14:04
790
原创 zookeeper学习笔记
提供开源分布式配置服务,同步服务,命名注册通过冗余服务实现高可用性设计目的:将分布式一致性服务封装起来,构成高效可靠的原语集,提供简单接口数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master选举,分布式锁,分布式队列数据结构key-value式存储名称key由/分割一系列路径元素zookeeper中可以保存数据,集群通过在zookeeper里存取数据进行消息传递由znode组成树,每个znode可以存放一段数据,znode下还可以挂载子节点数据模型分类顺序节点
2022-01-01 14:13:05
854
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人