自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ZJU PTA ds 7-1 Hashing - Hard Version

However, now you are asked to solve the reversed problem: reconstruct the input sequence from the given status of the hash table. Whenever there are multiple choices, the smallest number is always taken.

2022-01-12 17:24:40 932

原创 ZJU PTA ds 6-1 Iterative Mergesort

How would you implement mergesort without using recursion?

2022-01-12 17:13:45 627

原创 ZJU PTA ds 6-1 Strongly Connected Components

Write a program to find the strongly connected components in a digraph.

2022-01-12 17:03:35 1880

原创 ZJU PTA ds 7-1 Hamiltonian Cycle

The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a graph. Such a cycle is called a "Hamiltonian cycle".

2022-01-12 15:43:43 973

原创 ZJU PTA ds 6-1 Is Topological Order

Write a program to test if a give sequence Seq is a topological order of a given graph Graph.

2022-01-12 15:32:07 720

原创 ZJU PTA ds 7-1 File Transfer

7-1 File TransferWe have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer on the network to any other?

2022-01-12 15:21:09 329

原创 ZJU PTA ds 7-1 Complete Binary Search Tree

7-1 Complete Binary Search TreeA Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains

2022-01-12 14:55:14 496

原创 ZJU PTA ds 6-1 Percolate Up and Down

Percolate Up and DownWrite the routines to do a “percolate up” and a “percolate down” in a binary min-heap.Format of functions:void PercolateUp( int p, PriorityQueue H );void PercolateDown( int p, PriorityQueue H );where int p is the position of the

2022-01-12 14:43:37 923

原创 ZJU PTA ds 7-1 Pop Sequence

7-1 Pop SequenceGiven a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is

2022-01-12 14:36:37 252

原创 ZJU PTA 6-1 Add Two Polynomials

6-1 Add Two Polynomials (10 point(s))Write a function to add two polynomials. Do not destroy the input. Use a linked list implementation with a dummy head node. Note: The zero polynomial is represented by an empty list with only the dummy head node.Forma

2022-01-12 14:33:39 735

原创 浙大大学 PTA C语言程序设计 链表逆置

6-7 链表逆置 (20 point(s))本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:struct ListNode {int data;struct ListNode *next;};函数接口定义:struct ListNode *reverse( struct ListNode *head );其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。裁判测试程序样例:#include &l.

2021-03-25 22:25:41 1100

原创 浙大大学 PTA 奇数值结点链表

6-5 奇数值结点链表 (20 point(s))本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode {int data;ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到.

2021-03-25 21:55:04 704

原创 浙大大学 PTA 单链表结点删除

6-6 单链表结点删除 (20 point(s))本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode {int data;ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链.

2021-03-25 16:34:30 1737

原创 浙大大学 PTA 6-4 链表拼接

6-4 链表拼接 (20 point(s))本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode {int data;struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2);其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个.

2021-03-25 15:44:34 1308

原创 浙江大学 PTA 6-8 十进制转换二进制

6-8 十进制转换二进制本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n); dectobin(n); return 0;}/*.

2021-03-06 10:58:29 1087

原创 浙江大学 PTA 递归实现顺序输出整数

6-5 递归实现顺序输出整数 (15 point(s))本题要求实现一个函数,对一个整数进行按位顺序输出。函数接口定义:void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。裁判测试程序样例:#include <stdio.h>void printdigits( int n );int main(){ int n; scanf("%d", &n); p.

2021-03-05 12:38:43 1200 2

原创 力扣(LeetCode)142.环形链表二(Linked List Cycle two)

142. Linked List Cycle II没看题解时,我想到的是配合141题的查找是否有环,如果有,再遍历每个元素。依据是:如果有一个环,将快慢指针设置在入环处,那么快慢指针下一个(或者N次)相遇必定也在入环处。于是开始写出来的是时间复杂度比较差的算法。bool hasCycle(struct ListNode *head) { if(head == NULL) return false; struct ListNode *slow = head, *fast.

2021-02-22 15:23:07 91

原创 力扣(LeetCode)141.环形链表(Linked List Cycle)

Given head, the head of a linked list, determine if the linked list has a cycle in it.There is a cycle in a linked list if there is some node in the list that can be reached again by continuously following the next pointer. Internally, pos is used to deno

2021-02-19 15:33:58 105

原创 力扣(LeetCode)206. 反转链表(Reverse Linked List)

206. 反转链表(Reverse Linked List)

2021-02-18 16:24:17 138

原创 力扣(LeetCode)59. Spiral Matrix II(螺旋矩阵2)

/** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *returnColumnSizes array. * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free(). */int** generateMatrix(int n, int

2021-02-17 19:06:43 91

原创 力扣(LeetCode)209 长度最小的子数组 Minimum Size Subarray Sum

209 长度最小的子数组 Minimum Size Subarray Sum看完这个题直接想到的是三层循环,先固定长度,再遍历,原谅我的愚蠢,我内心也觉得这个很可怕,然后写出来超时了。然后看了有n的平方,然后想到可以先固定起始位置,再遍历,边遍历边检验:int minSubArrayLen(int target, int* nums, int numsSize){ int i, sum, j, minSublen = numsSize+1; for(i = 0; i < nu.

2021-02-15 22:12:04 164

原创 浙江大学 PTA 数据结构与算法 最大子列和问题

7-1 最大子列和问题 (20 point(s))给定K个整数组成的序列{ N​1​​ , N​2​​ , …, N​K​​ },“连续子列”被定义为{ N​i​​ , N​i+1​​ , …, N​j​​ },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同.

2021-02-04 16:21:06 348

原创 浙大大学 PTA 数据结构和算法 顺序表操作集

6-2 顺序表操作集 (20 point(s))本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty();Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode List;st

2021-02-03 18:19:56 1028

原创 数据结构和算法之最大子列和问题

最大子列和问题/*算法一:暴力穷举*/int MaxSubseqSum1( int A[] , int N ){ int ThisSum,MaxSum = 0; int i,j,k; for( i= 0;i<N;i++) for(j=i;j<N;j++){ ThisSum = 0; for(k=i;k<=j;k++) ThisSum+=A[k]; .

2021-02-02 17:04:22 77

原创 C语言 计算给定多项式在给定点x的值

计算给定多项式在给定点x的值对比所用的两种方法double f1(double a[],int n,double x){ double result; result=a[0]; int i; for(i=1;i<n;i++){ result+=a[i]*power(x,i); } return result; }/////***************************////////double f2(do.

2021-02-01 21:15:13 1520

原创 C语言 统计输入的单词数与字符数

统计输入的单词数与字符数#include<stdio.h>#define IN 1 //在单词内#define OUT 0 //在单词外//统计输入的单词数与字符数int main(void){ char c; int state=OUT; int numb_row=0,numb_char=0,numb_word=0; while((c=getchar())!='\n'){ numb_char++; if(.

2021-01-29 21:08:18 476

原创 C语言 练习 连续的多个空格用一个空格代替

编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替#include<stdio.h>int main(void){ char c; while((c=getchar())!=EOF){ if(c==' '){ //在读入到空格的时候,后面的空格就可以忽略,所以在if条件下while循环(可能有多个空格) putchar(c); while((c=getchar())==' '){

2021-01-29 20:28:43 3018

原创 浙江大学 PTA C语言-实验12-综合程序设计 7-1 自动售货机

7-1 自动售货机 (30point(s))如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1-10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。用户购买商品的操作方法是:(1)从“钱币入口”放入钱币,依次放入多个硬币或纸币。钱币可支持1元(纸币、硬币)、2元(纸币)、5元(纸币)、10元

2021-01-14 19:21:37 1217

原创 浙江大学PTA C语言-实验11.1 指针数组、指针与函数 6-2 输出月份英文名

6-2 输出月份英文名 (15point(s))本题要求实现函数,可以返回一个给定月份的英文名称。函数接口定义:char *getmonth( int n );函数getmonth应返回存储了n对应的月份英文名称的字符串头指针。如果传入的参数n不是一个代表月份的数字,则返回空指针NULL。裁判测试程序样例:#include <stdio.h>char *getmonth( int n );int main(){int n;char *s;scanf("%d",...

2021-01-06 23:11:49 1169

原创 浙江大学PTA C语言-实验11.1 指针数组、指针与函数 6-3 字符串的连接

6-3 字符串的连接 (15point(s))本题要求实现一个函数,将两个字符串连接起来。函数接口定义:char *str_cat( char *s, char *t );函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10char *str_cat( char *s, char *t );int main(){.

2021-01-06 23:05:55 898

原创 浙江大学 PTA C语言-实验11.1 指针数组、指针与函数 6-1 查找星期

6-1 查找星期 (15point(s))本题要求实现函数,可以根据下表查找到星期,返回对应的序号。序号 星期0 Sunday1 Monday2 Tuesday3 Wednesday4 Thursday5 Friday6 Saturday函数接口定义:int getindex( char *s );函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。裁判测试程序样例:#include <stdio.h>#include .

2020-12-31 21:39:36 1125

原创 浙大大学 PTA C语言-测验9 结构程序设计 7-2 通讯录排序

7-2 通讯录排序 (20point(s))输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入.

2020-12-31 20:55:36 1268

原创 浙江大学 PTA C语言-测验9 结构程序设计7-1 找出总分最高的学生

7-1 找出总分最高的学生 (15分)给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。输入样例:50000.

2020-12-30 19:34:30 4861 3

原创 浙江大学 PTA C语言-实验9 结构程序设计 7-3 计算平均成绩

7-3 计算平均成绩 (15分***)给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式:首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。输入样例.

2020-12-30 19:30:29 6604 1

原创 浙江大学 PTA C语言-实验9 结构程序设计 7-5 有理数比较

7-5 有理数比较 (10分)本题要求编写程序,比较两个有理数的大小。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。输入样例1:1/2 3/4输出样例1:1/2 < 3/4输入样例2:6/8 3/4输出样例2:6/8 = 3/4作者乔林.

2020-12-30 19:26:43 3381 2

原创 浙江大学PTA C语言-实验9 结构程序设计 7-4 查找书籍

7-4 查找书籍 (20分)给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB18.5Progr.

2020-12-30 19:25:39 2921

原创 浙江大学PTA C语言-实验9 结构程序设计 7-2 时间换算

7-2 时间换算 (15分)本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。输入样例:11:59:4030输出样例:12:00:10作者C课程组单位浙江大学代码长度限制16 KB时间限制400 ms内存限制64 MB#include<s.

2020-12-24 19:55:05 2781 1

原创 浙江大学 C语言-实验9 结构程序设计 7-1 计算职工工资

7-1 计算职工工资 (15分)给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3.

2020-12-24 19:51:43 5273 1

原创 浙江大学PTA C语言-实验9 结构程序设计 6-2 按等级统计学生成绩

6-2 按等级统计学生成绩 (20分)本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{int num;char name[20];int score;char grade;};n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要根.

2020-12-24 19:49:03 3303 1

原创 浙江大学PTA C语言-实验9 结构程序设计 6-1 计算两个复数之积

6-1 计算两个复数之积 (15分)本题要求实现一个计算复数之积的简单函数。函数接口定义:struct complex multiply(struct complex x, struct complex y);其中struct complex是复数结构体,其定义如下:struct complex{int real;int imag;};裁判测试程序样例:#include <stdio.h>struct complex{int real;int imag;};stru

2020-12-24 19:46:53 2839 1

空空如也

空空如也

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

TA关注的人

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