- 博客(65)
- 资源 (5)
- 收藏
- 关注
原创 吉林大学《计算机专业保研夏令营、欲推免专业课 & 数学知识点总结》
适用于吉林大学计算机学院、软件学院保研夏令营、欲推免。适用于各高校计算机学院、软件学院保研夏令营、欲推免。
2022-08-04 16:55:56 749 4
原创 SQL四大排名函数
0、数据result表:一、ROW_NUMBER (连续排名)特点:对于同值元组,排名序号不同。所有相同的元组各自为组。select *, ROW_NUMBER() OVER (order by score desc) 'Rank'from result;结果:二、RANK (并列跳跃排名)特点:对于同值元组,排名序号相同。但所有相同的元组各自为组,即对别的元组来说影响都是多元的。select *, RANK() OVER (order by score desc) 'Rank'
2021-07-31 15:38:21 4981 2
原创 第244场周赛 2021-6-6
第一题LC 5776. 判断矩阵经轮转后是否一致难度:简单算法:数组、模拟题目描述:给你两个大小为 n x n 的二进制矩阵 mat 和 target 。现 以 90 度顺时针轮转 矩阵 mat 中的元素 若干次 ,如果能够使 mat 与 target 一致,返回 true ;否则,返回 false 。提示:n == mat.length == target.lengthn == mat[i].length == target[i].length1 <= n <= 10m.
2021-06-06 17:02:56 205 2
原创 第241场周赛 2021-5-16
第一题LC 5759. 找出所有子集的异或总和再求和难度:简单算法:二进制、枚举题目描述:一个数组的异或总和定义为数组中所有元素按位 XOR 的结果;如果数组为 空 ,则异或总和为 0 。例如,数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 = 1 。给你一个数组 nums ,请你求出 nums 中每个 子集 的 异或总和 ,计算并返回这些值相加之 和 。注意:在本题中,元素 相同 的不同子集应 多次 计数。数组 a 是数组 b 的一个 子集 的前提条件是:从 b .
2021-05-16 20:03:01 129
原创 第235场周赛 2021-04-04
第一题LC 5722. 截断句子难度:简单算法:字符串,扫描题目描述:句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。例如,“Hello World”、“HELLO” 和 “hello world hello world” 都是句子。给你一个句子 s 和一个整数 k ,请你将 s 截断 ,使截断后的句子仅含 前 k 个单词。返回 截断 s 后得到的句子。.
2021-04-04 21:34:27 111
原创 第231场周赛 2021-03-07
第一题LC 1784. 检查二进制字符串字段难度:简单算法:字符串,扫描题目描述:给你一个二进制字符串 s ,该字符串 不含前导零 。如果 s 最多包含 一个由连续的 ‘1’ 组成的字段 ,返回 true 。否则,返回 false 。提示:1 <= s.length <= 100s[i] 为 ‘0’ 或 ‘1’s[0] 为 '1’题解:简单字符串扫描。class Solution {public: bool checkOnesSegment(.
2021-03-08 14:17:53 138
原创 第47场双周赛 2021-03-06
第一题LC 1780. 找到最近的有相同 X 或 Y 坐标的点难度:简单算法:数组,扫描题目描述:给你两个整数 x 和 y ,表示你在一个笛卡尔坐标系下的 (x, y) 处。同时,在同一个坐标系下给你一个数组 points ,其中 points[i] = [ai, bi] 表示在 (ai, bi) 处有一个点。当一个点与你所在的位置有相同的 x 坐标或者相同的 y 坐标时,我们称这个点是有效的 。请返回距离你当前位置 曼哈顿距离 最近的 有效 点的下标(下标从 0 开始)。如果有多个最近的有.
2021-03-07 20:47:38 131
原创 第230场周赛 2021-02-28
第一题LC 1773. 统计匹配检索规则的物品数量难度:简单算法:字符串,模拟题目描述:给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 :ruleKey == “type” 且 ruleValue == typei 。ruleKey == .
2021-03-02 10:45:01 96
原创 算法系列--滑动窗口与双指针
简述个人理解滑动窗口与双指针:双指针:以r为基础指针并根据题目要求来移动l或者保持l不动,同时ans由每一步的r-l来更新。滑动窗口:以l为基础指针,并且l~r看做一个窗口,r不断右移,根据题目要求来右移一次l或者保持l不动,特点是r-l始终不减,ans为最终的r-l区别:双指针算法当需要移动l指针时,可能移动多个单位以满足要求。而滑动窗口算法当需要移动l指针时,每次必定只移动一个单位!算法选择:求最短长度类似题目:双指针求最长长度类似题目:双指针 or 滑动窗口题目一LC 1004
2021-02-09 22:56:26 3078
原创 回文系列总结
回文系列题目,大致分为两种,一种是整数类型回文,一种是字符串类型回文。第二种较为常见。1> 整数类型回文题目Leetcode 9:判断一个整数是否是回文数。方法1:整数转化为字符串,判断是否相等 bool isPalindrome(int x) { string s = to_string(x); int i = 0, j = s.size() - 1; while(i < j) {
2020-06-02 09:46:20 516
原创 动态规划之背包九讲之八 — 背包问题求具体方案
题目:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 字典序最小的方案。这里的字典序是指:所选物品的编号所构成的序列。物品的编号范围是 1…N。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,w...
2020-05-03 23:34:13 339
原创 动态规划之背包九讲之七 — 背包问题求方案数
题目:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 最优选法的方案数。注意答案可能很大,请输出答案模 109+7 的结果。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表...
2020-05-03 23:30:09 455
原创 动态规划之背包九讲之六 — 分组背包
题目:有 N 组物品和一个容量是 V 的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V,用空格隔开,分别表示物品组数和背包容量。接下来有 N 组数据:每组数据第一行有一个整数 Si,表示第 i 个物...
2020-05-03 23:26:05 251
原创 动态规划之背包九讲之五 — 二维费用背包
题目:有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下来有 N 行,每行三个整数 vi,mi...
2020-05-03 23:18:06 172
原创 动态规划之背包九讲之四 — 混合背包
题目:有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,...
2020-05-03 23:15:11 265
原创 动态规划之背包九讲之三 — 多重背包
题目:有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数...
2020-05-03 23:08:24 258
原创 C++ 位运算
1. & (按位与).x: 100011010100-x: 011100101100 (计算机中-x = 将x每一位取反+1)&: 000000000100结论: x & -x = x的二进制表示里左右边的一个1应用:求x是否为2的整数次幂int isPow(int n){ return n > 0 && (n & (n ...
2020-04-05 10:22:20 220
原创 动态规划之背包九讲之二 — 完全背包
在讲解之前我们先来看一下题目。如下:一个小偷有一个最大容纳M千克的背包,现在商店里有N件物品,每种物品的个数是无限的,每件物品的的重量分别是w1,w2,…wn,每件物品的价值为v1,v2,…,vn。求小偷能偷走的最大价值。(其中M<=200,n<=30)。第一行输入M,n。第二行到第n+1行,每行输入一个重量和一个价值,代表第i件物品的信息。承接01背包问题,本题在01背包基础上...
2020-03-29 19:12:52 153
原创 PAT (Basic Level) 1050 螺旋矩阵
本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 104 ,相邻数字以空格分隔。输出格式:输...
2020-03-17 12:45:31 177
原创 动态规划之背包九讲之一 — 01背包
在讲解之前我们先来看一道题目。如下:一个小偷有一个最大容纳M千克的背包,现在商店里有N件物品,每件物品的的重量分别是w1,w2,…wn。每件物品的价值为v1,v2,…,vn。求小偷能偷走的最大价值。(其中M<=200,n<=30)。第一行输入M,n。第二行到第n+1行,每行输入一个重量和一个价值,代表第i件物品的信息。这道题就是典型的背包问题,分析可知在不把背包装爆的情况下,选择...
2020-03-16 11:18:32 1614
原创 PAT (Basic Level) 1020 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 1...
2020-03-10 21:00:19 89
原创 PAT (Basic Level) 1019 数字黑洞
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 ...
2020-03-10 20:39:03 105
原创 PAT (Basic Level) 1016 部分A+B
正整数 A 的“DA (为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA 。例如:给定 A=3862767,DA =6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。现给定 A、DA 、B、DB ,请编写程序计算 PA +PB 。输入格式:输入在一行中依次给出 A、DA 、B、DB ,...
2020-03-10 20:19:24 73
原创 PAT (Basic Level) 1014 福尔摩斯的约会
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代...
2020-03-10 20:14:55 67
原创 PAT (Basic Level) 1013 数素数
令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤10^4 ,请输出 PM 到 PN 的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 3...
2020-03-10 20:07:42 122
原创 PAT (Basic Level) 1012 数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和;A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1 −n2 +n3 −n4 ⋯;A3 = 被 5 除后余 2 的数字的个数;A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A...
2020-03-10 19:47:20 79
原创 PAT (Basic Level) 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...
2020-03-10 19:41:18 130
原创 PAT (Basic Level) 1008 数组元素循环右移问题
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0 A1 ⋯AN−1 )变换为(AN−M ⋯AN−1 A0 A1 ⋯AN−M−1 )(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例...
2020-03-10 19:22:19 197
原创 大整数的四则运算----减法
题目:输入两个正整数num1,num2。(0<num<10^1000),计算这两个数的差。在前面的大整数的加法里已经分析过(大整数的四则运算----加法),所以话不多说,直接上重点。还是对应位之间的运算,但是减法不同于加法,加法具有交换律,所以两个数哪个在前哪个在后都无所谓。但减法却不行,所以为了计算,我们首先要知道num1,num2到底哪个大?所以需要一个比较函数,如下。Code...
2020-03-10 08:45:18 283
原创 大整数的四则运算----加法
题目:输入两个正整数num1,num2。(0<num<10^1000),计算这两个数的和。相信大家在刷OJ等题目时已经见过这类题型,可能第一眼看,这题如此简单,计算两个数的加法简直是小case。于是三下五除二写完代码…copy…paste…结果错误…于是你又回头仔细读了一遍题,发现的重点。没错,重点就是 (0<num<10^1000)。我们知道int类型的范围是 -2...
2020-03-09 12:30:07 277
原创 PAT (Basic Level) 1010 一元多项式求导
设计函数求一元多项式的导数。(注:xn (n为整数)的一阶导数为nx n−1 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 2...
2020-03-07 21:45:23 72
原创 PAT (Basic Level) 1007 素数对猜想
让我们定义dn 为:dn =pn+1 −pn ,其中pi 是第i个素数。显然有d1 =1,且对于n>1有dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<10的五次方 ),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素...
2020-03-07 20:46:16 81
原创 PAT (Basic Level) 1005 继续(3n+1)猜想
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、...
2020-03-07 20:35:39 235
原创 PAT (Basic Level) 1003 我要通过!
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1.字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;2.任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;3.如果...
2020-03-07 20:19:20 178
原创 PAT (Basic Level) 1077 互评成绩计算
在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1 ;老师给这个组的评分记为 G2 。该组得分为 (G1 +G2 )/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。输入格...
2020-03-07 11:36:01 140
原创 PAT (Basic Level) 1079 延迟的回文数
给定一个 k+1 位的正整数 N,写成 ak ⋯a1 a0 的形式,其中对所有 i 有 0≤ai <10 且 ak >0。N 被称为一个回文数,当且仅当对所有 i 有 ai =ak−i 。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作...
2020-03-06 12:38:59 82
原创 PAT (Basic Level) 1048 数字加密
本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和 B,均为不超过 100 ...
2020-03-06 11:07:27 130
原创 PAT (Basic Level) 1074 宇宙无敌加法器
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9]...
2020-03-06 10:27:18 92
原创 PAT (Basic Level) 1076 Wifi密码
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1...
2020-03-06 10:01:14 179
原创 PAT (Basic Level) 1081 检查密码
本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。输出格式:对每个用户的密码,在一行中输出系统反馈信息,分以下5种:如果...
2020-03-05 18:25:42 184
《计算机专业保研夏令营、欲推免专业课 &amp; 数学知识点总结》预览版
2022-08-04
吉林大学计算机学院编译原理课程设计-SNL语言编译器
2022-04-25
吉林大学微机接口实验模板代码.zip
2021-12-22
吉林大学UML大作业(旅游管理系统).zip
2021-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人