- 博客(61)
- 资源 (2)
- 收藏
- 关注
原创 蓝桥杯算法训练(一)-------基础递归模板篇
前文:博主是一名算法小白,深感算法之困难,但是算法有没有模板呢?毫无疑问,是有的,通过学习一些算法模板,并记牢这些模板,或许在考场中,你会见到一些题目蕴含这些模板的影子,通过这些模板,可以帮助你找到一些解题思路,本文仅以博主自己的实际经验,撰写文章,如有不当之处,敬请批评指正。模板一,子集:来源:力扣(LeetCode)链接:https://leetcode.cn/problems/subsets给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
2022-05-15 20:59:49
491
原创 复盘一下第十三届python蓝桥杯
这个题就是将字符串转成列表,调用一下sort方法 就行了s = "WHERETHEREISAWILLTHEREISAWAY"arr = []for i in s: arr.append(i)arr.sort()for i in arr: print(i, end="")第二题,暴力破解,没解出来。。。。这个题,就是把短边变长边,长边除以2就好了import maths = input()num = int(s.split("A")[1])A0 ...
2022-04-09 22:01:15
1734
4
原创 两种动态代理实现方式浅析(jdk与cglib)
jdk动态代理生成:/** *jdk动态代理生成代码分析 *@authorquz */ //需要继承InvocationHandler publicclassAnalysisimplementsInvocationHandler{ @Override publicObjectinvoke(Objectproxy,Methodmethod,Object[]args)throwsThrowable...
2022-03-14 21:48:01
644
原创 记录一下python解决博物馆大盗问题
由于本人算法比较垃圾,动态规划 和 递归解决这个问题完全没有思路,于是用了一个十分投机取巧的解决办法,简单记录一下from itertools import permutations # 引入全排列函数max_w = 20 # 设置最大重量all_v = [] # 全部的价值def thief(aw, av, iter): tr = [[2, 3], [3, 4], [4, 8], [5, 8], [9, 10]] # 这是每件物体重量和价值 # 循环.
2022-01-04 22:30:15
558
原创 详解机器学习基础--梯度下降法
梯度下降法不是一种机器学习算法,而是一种基于搜索的最优化方法作用:最优化一个损失函数公式:theta = theta - eta*dJeta 作为学习率,也就是每次梯度下降幅度eta的取值不合适,影响得到最优解,eta太小,收敛学习速度,eta太大,导致不收敛eta 也属于超参数的一种例子:多元线性回归中的梯度下降法dJ = MSE‘ => x_b.T.dot(x_b.dot(theta) - y) * 2. / m也就是我们的theta每次都基于dJ进行梯度下降.
2021-11-08 16:30:37
364
原创 详解机器学习基础--线性回归算法
线性回归解决了什么?线性回归算法可以帮助解决回归问题,对处理回归问题有着天然的优势,线性回归算法虽然简单,但是对于处理回归问题还是有着比较好的作用线性回归算法思想简单,实现容易,结果具有较好的解释性,也就是我们可以通过线性回归训练的参数用来解释我们的特征数据简单线性回归:公式:y = ax + b为了表达我们的预测值y^(i)与真实值y(i)的差距,我们采取损失函数的做法损失函数:Σ(y(i) - y^(i))²其中我们的预测值 y^(i)= ax(i) + b目标:找到最.
2021-11-03 23:10:55
948
原创 详解机器学习算法基础--K近邻算法
K近邻算法属于监督学习。监督学习是指给定我们的数据集是含有lable的,比如著名的iris数据集,就给定了我们每一个数据所属的类别,通俗一点讲,我们拿到一个数据,对应一个特征。K近邻算法我们可以认为是一个不需要训练过程的算法,也就是说,我们不需要去训练模型,从某种意义上来说,算法即是模型本身K近邻算法是什么?用来做什么?K近邻算法就是通过distance来寻找最近的样本,获取我们传入数据的label,也就是说,谁离我们传入的数据最近,我们就选那个最近数据的lable作为我们传入数据的特征。
2021-11-01 23:13:30
1474
原创 Python刷题日记--回形取数
基础练习 回形取数时间限制:1.0s 内存限制:512.0MB问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入3 31 2 34 5 67 8 9样例输出1 4 7 8 9 6 3 2 5样例..
2021-11-01 16:53:52
153
原创 Python刷题日记--龟兔赛跑预测
基础练习 龟兔赛跑预测时间限制:1.0s 内存限制:512.0MB问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它..
2021-11-01 16:52:14
147
原创 Python刷题日记--芯片测试
基础练习 芯片测试时间限制:1.0s 内存限制:512.0MB问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行为一个整数n,表示芯片个数。 第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1..
2021-11-01 16:51:06
171
原创 Python刷题日记--FJ的字符串
基础练习 FJ的字符串时间限制:1.0s 内存限制:512.0MB问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABAdef An(n): ..
2021-11-01 00:12:36
141
原创 Python刷题日记--Sine之舞
基础练习 Sine之舞时间限制:1.0s 内存限制:512.0MB问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+...sin(n))...) Sn=(...(A1+n)A2+n-1)A3+...+2)An+1 FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛..
2021-10-31 23:31:19
183
原创 Python刷题日记--数的读法
基础练习 数的读法时间限制:1.0s 内存限制:512.0MB问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 用汉语拼音表示为 shi er yi san..
2021-10-31 23:29:52
241
原创 Python刷题日记--完美的代价
基础练习 完美的代价时间限制:1.0s 内存限制:512.0MB问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!)输入格式 第一行是一个整数N,表示接下来的字符串的长度(N..
2021-10-31 23:28:59
229
原创 Python刷题日记--矩形面积交
基础练习 矩形面积交时间限制:1.0s 内存限制:512.0MB问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。样例输入1 1 3 32 2 4 4样例输出1.00arr1 = [int..
2021-10-31 23:27:43
256
原创 Python刷题日记--矩阵乘法
问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开样例输入2 21 23 4样例输出7 10.
2021-10-31 23:26:48
177
原创 Python刷题日记--分解质因数
基础练习 分解质因数时间限制:1.0s 内存限制:512.0MB问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再分解。数据规模和约定 2<=a&..
2021-10-31 23:25:34
173
原创 Python刷题日记--字符串对比
基础练习 字符串对比时间限制:1.0s 内存限制:512.0MB问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing ..
2021-10-31 23:24:14
171
原创 Python刷题日记--时间转换
基础练习 时间转换时间限制:1.0s 内存限制:512.0MB问题描述 给定一个以秒为单位的时间t,要求用“<H>:<M>:<S>”的格式来表示这个时间。<H>表示时间,<M>表示分钟,而<S>表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。输入格式 输入只..
2021-10-31 23:22:59
238
原创 Python刷题日记--数列排序
基础练习 数列排序时间限制:1.0s 内存限制:512.0MB问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9size = int(input())numStr = input().split(" ")nu..
2021-10-29 22:43:41
190
原创 Python刷题日记--十六进制转十进制
基础练习 十六进制转十进制时间限制:1.0s 内存限制:512.0MB问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535size = int(input())num = []for _ in range(size): num_str = input() num_eight = int(num_str, 16)..
2021-10-29 22:42:56
137
原创 Python刷题日记--十进制转十六进制
基础练习 十进制转十六进制时间限制:1.0s 内存限制:512.0MB问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一个非负整数a,表示要转换的数。0&am..
2021-10-29 22:42:14
334
原创 Python刷题日记--特殊回文数
基础练习 特殊回文数时间限制:1.0s 内存限制:512.0MB问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1<=n<=54。num = int(input())..
2021-10-29 22:41:15
121
原创 Python刷题日记--回文数
基础练习 回文数时间限制:1.0s 内存限制:512.0MB问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。for i in range(1000, 10000): first = i // 1000 second = i // 100 % 10 third = i // 10 % 10 forth = i % 10 if (first ==..
2021-10-29 22:37:41
197
原创 Python刷题日记--特殊的数字
基础练习 特殊的数字时间限制:1.0s 内存限制:512.0MB问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。from math import powfor i in range(100, 1000): first = i // 100 second = i // 10 % 10 thir..
2021-10-29 22:36:45
97
原创 Python刷题日记--杨辉三角形
基础练习 杨辉三角形时间限制:1.0s 内存限制:256.0MB问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式 输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出...
2021-10-29 22:35:43
221
原创 Python刷题日记--查找整数
基础练习 查找整数时间限制:1.0s 内存限制:256.0MB问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入 6 1 9 4 8 3 9 9样例输出 2数据规模与约定 1 &l..
2021-10-29 22:34:47
210
原创 Python刷题日记--数列特征
基础练习 数列特征时间限制:1.0s 内存限制:256.0MB问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n <= 10000。size =..
2021-10-28 23:47:42
118
原创 Python刷题日记--字母图形
基础练习 字母图形时间限制:1.0s 内存限制:256.0MB问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCBABCDED..
2021-10-28 23:46:44
475
原创 Python刷题日记--01字串
基础练习 01字串时间限制:1.0s 内存限制:256.0MB问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式 本试题没有输入。输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出 00000 00001 00010 00011 <以下部分省略>..
2021-10-28 23:45:43
106
原创 Python刷题日记--闰年判断
基础练习 闰年判断时间限制:1.0s 内存限制:256.0MB问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其他的年份都不是闰年。输入格式 输入包含一个整数y,表示当前的年份。输出格式 输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。样例..
2021-10-28 23:44:25
281
原创 Java刷题日记--芯片测试
基础练习 芯片测试时间限制:1.0s 内存限制:512.0MB问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行为一个整数n,表示芯片个数。 第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,..
2021-10-25 22:50:38
207
原创 Java刷题日记--FJ的字符串
基础练习 FJ的字符串时间限制:1.0s 内存限制:512.0MB问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABApackage com.quz._..
2021-10-25 22:49:47
223
原创 Java刷题日记--Sine之舞
基础练习 Sine之舞时间限制:1.0s 内存限制:512.0MB问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+...sin(n))...) Sn=(...(A1+n)A2+n-1)A3+...+2)An+1 FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们..
2021-10-25 22:48:45
79
原创 Java刷题日记--数的读法
基础练习 数的读法时间限制:1.0s 内存限制:512.0MB问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 用汉语拼音表示为 shi er yi san ..
2021-10-14 21:58:13
202
原创 Java刷题日记--完美的代价
基础练习 完美的代价时间限制:1.0s 内存限制:512.0MB问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!)输入格式 第一行是一个整数N,表示接下来的字符串的长度(N ..
2021-10-14 21:57:05
151
原创 Java刷题日记--矩阵面积交
基础练习 矩形面积交时间限制:1.0s 内存限制:512.0MB问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。样例输入1 1 3 32 2 4 4样例输出1.00public class _..
2021-10-14 21:56:14
180
原创 Java刷题日记--矩阵乘法
问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开样例输入2 21 23 4样例输出7 101
2021-10-14 21:55:15
91
原创 java刷题日记--分解质因数
基础练习 分解质因数时间限制:1.0s 内存限制:512.0MB问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再分解。数据规模和约定 2<=a&..
2021-10-14 16:09:27
132
原创 java刷题日记--字符串对比
基础练习 字符串对比时间限制:1.0s 内存限制:512.0MB问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和..
2021-10-14 16:08:26
108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人