自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯web国赛-新增地址

【代码】蓝桥杯web国赛-新增地址。

2024-05-30 22:10:58 99

原创 蓝桥杯web国赛-小兔子找胡萝卜

【代码】蓝桥杯web国赛-小兔子找胡萝卜。

2024-05-30 17:52:45 182

原创 蓝桥杯web国赛-猜硬币

【代码】蓝桥杯web国赛-猜硬币。

2024-05-29 19:03:32 205

原创 蓝桥杯国赛web-版本比较

首先先正则判断版本号字符串是否正确,不正确返回error,然后用字符串的split方法以 . 分隔成数组,再map转为数字数组,最后逐位比较数字大小。map最常见的用法就是遍历一个数组,返回一个新的数组。(2)map(String):将number数组转成string数组。(1)map(Number):将。转换为number数组;

2024-05-28 20:51:53 380

原创 蓝桥杯国赛web-抢红包

知识点:Math.random() :取0-1的随机数(包括0,不包括1 )取到(m-n之间)的公式: Math.random()*(n-m)+m。toFixed():保留小数位数。

2024-05-28 20:28:15 143

原创 蓝桥杯-web

/center(均等地分割多余的空间,一半位于子元素之上,另一半位于子元素之下)/baseline(如果 box-orient 是inline-axis或horizontal,所有子元素均与其基线对齐)/stretch(默认值,拉伸子元素以填充包含块)/start[对于正常方向的框,首个子元素的左边缘被放在左侧(最后的子元素后是所有剩余的空间)对于相反方向的框,最后子元素的右边缘被放在右侧(首个子元素前是所有剩余的空间)]对于相反方向的框,首个子元素的左边缘被放在左侧(最后子元素后是所有剩余的空间)。

2024-04-10 20:49:07 698 1

原创 算法17--二分应用

分析:题目要求尽量减少调用检查的接口的次数,因此不能对每个版本都使用这个检查接口。这个题的特点是当一个版本为正确版本,则这个版本之前所有的版本都是正确的。反之这个版本之后所有的版本都是错误的。可以利用这一点进行二分查找。左边界为1,右边界为n。找到中间版本判断是否为正确版本,如果是正确版本,说明第一个错误的版本位于右侧,缩紧左边界;如果是错误版本,说明位于左侧,缩紧右边界。278第一个错误的版本--leetcode。441 排列硬币--leetcode。

2024-01-18 16:19:37 360 1

原创 算法16--二分查找

采用左闭右闭写法,while(left<=right)二分查找的时间复杂度为O(logn)。704 二分查找--leetcode。35 搜索查找--leetcode。这里给出直接套用的模板。

2024-01-18 13:56:45 389 1

原创 算法12--字符串--02

子字符串的长度一定是字符串长度的倍数。又嵌套一个for循环,只需要判断,以第一个字母为开始的子串就可以,所以一个for循环获取子串的终止位置就行了。所以这个公式翻译一下就是:如果 s 是周期串,那【s 的长度】是【s 的长度减去最长公共前后缀的长度】的倍数,那字符串 s 就是周期串。其中 len(s) 为字符串 s 的长度,maxLen 为最长公共前后缀(就是next)的长度。解法二:这是周期性字符串问题,KMP算法是解决这类问题的经典解法。最小重复子串的长度=字符串的长度-最长公共前后缀的长度。

2024-01-14 22:59:03 332 1

原创 KMP算法--解决字符串匹配问题

解释:寻找最长相等前后缀的长度意味着这里有一个后缀aa, 前面也有一个与其相等的前缀aa,我们在这个后缀的后面发生不匹配了,我们就要找与其相等的前缀的后面也就是 b 开始匹配。最长相等前后缀是2,那前缀的后面 b 的下标就正好是前缀的长度,因为索引是从0开始的。过程:找前面子串的最长相等前后缀。很显然,最长相等前后缀是2,会跳到下标为2处,也就是b,从b开始重新匹配(这也是前缀表的特性)。用next数组表示前缀表,next数组的核心:遇见冲突,向前回退。前缀:包含首字母,不包含尾字母的所有子串。

2024-01-14 22:29:42 333 1

原创 算法12--字符串--01

由于字符串只包含 26 个小写字母,因此我们可以维护一个长度为 26的频次数组 table,先遍历记录字符串 s 中字符出现的频次,然后遍历字符串 t,减去 table 中对应的频次,如果出现 table[i]

2024-01-13 14:07:28 349 1

原创 算法11--字符串

我们可以通过空格的数量来确定单词的数量,单词的数目等于空格数目加1。遍历数组sentences中的每个句子,分别计算每个句子的单词数目即可。1662 检查两个字符串数组是否相等--leetcode。题解一:直接将所有字符串拼接后比较。题解2:双指针对每个字符进行遍历。2114 句子中的最多单词数。

2024-01-11 14:35:25 415 1

原创 算法10--队列

队列中的数据存取方式是“先进先出”,只能往队尾插入数据、从队头移出数据。队列的原型在生活中很常见,例如食堂打饭的队伍,先到先服务,不能插队。详细请见。

2024-01-11 14:09:05 345 1

原创 算法9--栈

P1739 表达式括号匹配 --洛谷。

2024-01-10 16:15:10 329 1

原创 算法8--数组

题解:外层循环控制行数,内层循环控制每一个元素的生成。用List接口创建动态数组。时间复杂度为O(numRows²)。题解:先for循环对每个元素平方,最后用sort方法对数组排序。118--杨辉三角--leetcode。977--有序数组的平方。

2024-01-09 20:23:55 323

原创 算法7--数组--02

方法一:排序,对数组排序,如果存在重复元素,则数组相邻元素一定相等。217--存在重复元素。

2024-01-08 15:00:36 384 1

原创 算法7--数组--01

题解:最简单的做法就是将nums2数组加在nums1数组的末尾,然后对整个数组进行排序。想让性能更优化,时间复杂度更小可以采取双指针的解法,这里不再过多赘述。88.合并两个有序数组。

2024-01-08 14:53:07 349 1

原创 算法5--暴力枚举

另一方面,当从小到大遍历到数 x 时,倘若它是合数,则它一定是某个小于 x 的质数 y 的整数倍,故根据此方法的步骤,我们在遍历到 y 时,就一定会在此时将 x 标记为 isPrime[x]=0。我们设 isPrime[i]表示数 i 是不是质数,如果是质数则为 1,否则为 0。从小到大遍历每个数,如果这个数为质数,则将其所有的倍数都标记为合数(除了该质数本身),即 0,这样在运行结束的时候我们即能知道质数的个数。我们考虑这样一个事实:如果 x 是质数,那么大于 x 的 x的倍数 2x,3x,…

2024-01-06 20:28:40 353 1

原创 算法3---暴力枚举

2024-01-05 17:59:59 336

原创 算法4-----暴力枚举--02

题解2:从100到1000区间找符合条件的三位数且是偶数。

2024-01-05 17:56:53 382 1

原创 算法4--暴力枚举--01

也可以将设flag改为一个整型变量res,最初赋值为0,当进入判断,如果符合条件,将i赋值给res,最后返回该整型变量res。如果该题目暴力解决的话需要 O(n)的时间复杂度,但是如果二分的话则可以降低到 O(logn)的时间复杂度。35 搜索插入--leetcode。Java题解1-----暴力枚举法。Java题解1-----二分法。

2024-01-05 17:23:06 385 1

原创 算法2--暴力枚举

2024-01-03 22:22:18 348

空空如也

空空如也

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

TA关注的人

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