- 博客(84)
- 收藏
- 关注
原创 Java经典面试题-多线程打印
就好像一个圆圈,A->B->C->A。。。。。synchronized能够保证多个线程进入实,只用一个线程能进入。
2024-10-10 20:44:55 314
原创 41. 缺失的第一个正数
请你找出其中没有出现的最小的正整数。并且只使用常数级别额外空间的解决方案。范围 [1,2] 中的数字都在数组中。1 在数组中,但 2 没有。给你一个未排序的整数数组。最小的正数 1 没有出现。41. 缺失的第一个正数。请你实现时间复杂度为。
2024-08-22 12:46:11 164 1
原创 128. 最长连续序列
找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。最长数字连续序列是 [1, 2, 3, 4]。请你设计并实现时间复杂度为。给定一个未排序的整数数组。128. 最长连续序列。
2024-08-22 12:44:26 313
原创 49. 字母异位词分组
是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。给你一个字符串数组,请你将。49. 字母异位词分组。
2024-08-22 12:42:57 163
原创 tyut-数据库期末复习要点
数据库系统(DBS)是由数据库(DB),数据库(DBMS) ,应用程序和数据库管理员 (DBA)组成的存储,管理,处理和维护数据的系统数据模型:比较真实的模拟现实世界,容易为人所理便于在,计算机上实现数据模型是数据库系统的核心和基础数据库是指长期储存在计算机中,有组织,有可共享的数据集合DBMS,他是位于用户和操作系统之间的一层数据管理软件实体之间的联系可抽象为三类,他们是一对一,一对多,和多对多数据模型的三要素包括数据结构,数据操作和数据完整性。
2024-08-22 12:36:54 668
原创 11.盛水最多的容器
思路:可以理解成长方形的面积,宽就是下标之差,长就是最小值(left ,right)轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。可以再次基础上在此提高速率。可以想到用双指针解决。
2024-06-26 20:51:18 334
原创 56.合并区间
这道题就应该先排序再去比较,前一个的末尾和后一个的前端的大小比较,肯定大家会犹豫最后的一个的问题,其实想一想,无论你最后一个和之前的合不合并,都不会在for循环中插进去。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。所有需要单独插入,设置一个begin存每次区间的始端。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。
2024-06-26 20:36:53 191
原创 牛客周赛Round48
这道应该是就当前来说,先遍历,如果遇到不一样的,就立马修改,如果最后这两个字符串最后还是不相等,就输出-1,(单独拿出长度1 和 2的情况)(也可以不用)定义一个字符串的“伪回文值”是:修改最少字符数量使得其变成回文串的修改次数。例如,"abca"的伪回文值是1。她准备进行若干次操作,每次操作选择一个元素加1。小红希望最终三个数相等,请你帮小红求出最小的操作次数。现在小红拿到了一个字符串,她希望你求出所有连续子串的伪回文值之和。思路:这道题比较简单,因为操作只能加1,所以只能是这三者中的最大值为终点,
2024-06-23 21:47:44 524
原创 蓝桥云课第12届强者挑战赛
该题思路大致是普遍情况是统计a[n]转变为集合set的大小,最多猜对就是集合的大小,最小也是0。有一种特殊情况,n=m并且所用出现得都相同,这样无论是最小和最大都是1。
2024-06-07 22:48:45 371
原创 java io流
在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastException,在开发中有时候可写可不写,建议最好还是写上比较好。),但是编码方式不一样,一个是基于字符编码(文本文件),ASCII码,Unicode编码,另一个是基于值编码(二进制文件)类有三个构造函数,它们使用默认的字符集来读取文本文件。
2024-06-04 22:41:17 1156 1
原创 leetcode397周赛场
给你两个字符串s和t,每个字符串中的字符都不重复,且t是s的一个排列。定义为s和t中每个字符在两个字符串中位置的绝对差值之和。返回s和t之间的。2对于s = "abc"和t = "bac""a"st"b"st"c"st即,s和t的排列差等于。12s和t的排列差等于。stss。
2024-05-22 10:46:14 591
原创 优先队列c++
priority_quene是一个优先队列,优先级别高的先入队,默认最大值优先因此出队和入队的时间复杂度均为O(logn),也可以自定义优先级头文件<quene>
2024-04-04 16:09:35 377
原创 L1-015 跟奥巴马一起画方块
L1-015 跟奥巴马一起画方块分数 15全屏浏览切换布局作者 陈越单位 浙江大学美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
2024-04-03 17:20:05 231
原创 L1-003 个位数统计
L1-003 个位数统计分数 15全屏浏览切换布局作者 陈越单位 浙江大学给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。
2024-04-03 17:15:10 151
原创 leetcode-389周赛
第一种思路:暴力破解,将所有长度为2的子字符串放入数组中,再看是否能不能找到在反方向的字符串找到。本题很简单,先统计出该字母出现的次数x, 结果就是 x+(x)*(x-1)/2。第二种:利用二维去存储状态,【x】【y】 翻转之后就是【y】【x】中不存在满足「在其反转后的字符串中也出现」且长度为。第二题:统计已给定字符开头和结尾的子字符串的总数。的子字符串,在其反转后的字符串中也出现。如果存在这样的子字符串,返回。个子字符串,并且它们都以。需要删除的字符的最小数量。,此时每个字母的频率都是。
2024-03-17 14:19:46 739 1
原创 前缀和与差分
6 是中枢整数,因为 1 + 2 + 3 + 4 + 5 + 6 = 6 + 7 + 8 = 21。下标 3 之前的数字和为:2 + 3 + -1 = 4。题目保证对于给定的输入,至多存在一个中枢整数。下标 2 之前的数字和为:1 + -1 = 0。,如果不存在这样的中间位置,请你返回。1 是中枢整数,因为 1 = 1。下标 3 之后的数字和为:4 = 4。可以证明不存在满足题目要求的整数。下标 2 之后的数字和为:0。下标 0 之前的数字和为:0。下标 0 之后的数字和为:0。,左边部分的和定义为。
2024-03-15 17:01:45 362
原创 蓝桥云课--第7场小白赛
第一题 签到题第二题:就是在7个框内,灯管的变化,数,#include <iostream>#include<vector>using namespace std;int main(){ string str1,str2; cin>>str1>>str2; int len=str1.length(),i,j; int sum=0; vector<vector<int>>a(10);
2024-03-11 16:06:41 194
原创 java 反射机制 (一)
即通过外部文件配置,不修改文件源码的情况下,来控制程序,也符合设计模式的OCP原则(开闭原则:不修改源码,扩容原则)1.反射机制允许程序在执行期间借助于ReflectionAPI取得任何类的内部信息(比如成员变量,构造器,构造方法),并能操作对象的属性及方法。
2024-02-28 20:42:42 899
原创 蓝桥云课-第6场小白赛
所以最后的表达式为4*(a+1) , 如果这个数为连续正奇数平方之差 ,(0除外),则他一定是4的倍数,则这两个奇数为(x/4)-1,(x/4)+1。利用的是两边之和大于第三边,所以只需要 2*a[i]>b[i]就可以,当然题目要的是最多,先对拍个序,然后先从最小的开始,依次满足。设小的正奇数为a,另一个为a+2,(a+2+a)*2=4*(a+1)也就是输入自己前后值的总和,除去第一个和最后一个(单独输出)这道题其实就是一个数学问题,如图所示。最佳情况,所有负数变整数。第一题:输出字符串即可。
2024-02-25 16:26:37 262
原创 leetcode-100224.分割数组
分割 nums 的唯一可行方案是 nums1 = [1,1] 和 nums2 = [1,1]。但 nums1 和 nums2 都不是由互不相同的元素构成。因此,返回 false。分割 nums 的可行方案之一是 nums1 = [1,2,3] 和 nums2 = [1,2,4]。思路:题目要分成两个互不相同的数组,只有这个数出现1次和2次,就行。你需要将这个数组分割成。如果能够分割数组就返回。
2024-02-25 15:08:22 350
原创 数据结构---字典树(Tire)
但是前缀树解决的是前缀的问题,这道题让解决的是前缀和后缀的问题,所以想要把这个字符串转变一下来解决,字典树是一种能够快速插入和查询字符串的多叉树结构,节点的编号各不相同,根节点编号为0。Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。【1】首先我先到的是建造两个前缀树,一个正向前缀树,一个反向前缀树。正 ab abcdab。反 ba badcba。字典树在解决公共前缀的使用,所以叫前缀树。
2024-02-20 20:21:03 705
原创 leetcode3043. 最长公共前缀的长度
就是先把第一个数组,所有可能得前缀都放在一个set容器中,然后再第二个数组所有前缀里面找是否在set容器中,所以接下设置一个变量存放就行,最大长度就行。返回所有数对之中最长公共前缀的长度。如果它们之间不存在公共前缀,则返回。的一位或多位数字组成的整数。这种解法也是系统提示的,比较耗时间。之中最长的公共前缀的长度。java版本:(IDEA)
2024-02-19 18:49:29 419
原创 leetcode3042. 统计前后缀下标对 I
因为要让字符串B出现在另一个字符串A的最前面和最后面,位置分别是0和A.len-B.len。java代码如下:到了java,两个查找方法,为IndexOf 和lastIndexOf。find() ,rfind(),(倒着寻找),都会返回找到的位置,第一次,双重遍历,for循环,模拟一下,过程就行,,它接受两个字符串参数。c++代码:需要用到的函数。以整数形式,返回满足。
2024-02-19 18:07:12 329
原创 leetcode第124场双周赛
思路:题目所求为最后一次操作前的字符串,先用map统计各个字符出现的次数,因为要最后留下,所以就是找最大的次数,到现在最后一次操作的字符找到了,但是有先后顺序,那就在设一个map,去统计,去看谁先到达最大的次数,谁的位置就在前面。- 删除前两个元素,分数为 3 + 2 = 5 ,nums = [1,4,5]。- 删除前两个元素,分数为 1 + 4 = 5 ,nums = [5]。a" 中加粗加斜字符,得到字符串 s = "ba"。" 中加粗加斜字符,得到字符串 s = ""。- 删除 s = "
2024-02-18 22:14:21 518
原创 蓝桥云课-2024-第5场入门赛
就是分类,就是看有多少组,主要用到哈希表,以int为键(a),后面设个动态数组,存放不同的b。如果b在这个数组里能找到,结果不加1,否则,结果加1,加入数组。主要就该公式化简,得出。代码:这个不是本人,本人有点了解不了。
2024-02-11 13:01:09 323
原创 LCP 30. 魔塔游戏---leetcode
贪心是主要思想,你在之和累加的时候,如果和小于0,那么就需要做出最佳的调整,就在现在的元素中,找出最小的元素,移动到后面,(这里就可以想到小根堆了) ,每次移除这个堆顶元素。请返回小扣最少需要调整几次,才能顺利访问所有房间。若调整顺序也无法访问完全部房间,请返回 -1。,其中正数表示道具补血数值,即血量增加对应数值;我没有用优先队列(相当于堆),我只是模拟了一下他的内部原理。假定小扣原计划按房间编号升序访问所有房间补血/打怪,,小扣需对房间访问顺序进行调整,表示房间对血量无影响。
2024-02-06 19:30:13 550
原创 牛客周赛Round31-小白感悟
特殊的,如果将x插入在数组的最左边,则y=0。小红拿到了一个字符串,她发现这个字符串可能是她自己的名字"kou",于是想将其替换成小紫的名字"yukari"。思路:也就是一个字符算一个中值,以这个字符为对称轴,看他两边的字符最多有多少对称,也就是去最小值,两边字符的最小值。在步骤1中x,y的数量和x,y的插入也有关系,所以使用map这个数据结构来解决。小红拿到了一个正整数x,她想知道x有多少个不同的素因子,你能帮帮她吗?这道题的要点在于读题:是要连续的几个因子,而不是所有的因子。
2024-02-04 22:45:34 435
原创 100183. 最大好子数组和
好子数组有 [1,2] ,[2,3] ,[3,4] ,[4,5] 和 [5,6]。这个代码的思路就比较简单了,先定义一个等长的数组去存放前缀和,然后双层for循环,去找到区间i,j(满足两边界的数组值的绝对值为k),然后用前缀和mx[j]-mx[i]+nums[i]即可。好子数组有 [-1,-2,-3] 和 [-2,-3,-4]。最大子数组和为 -6 ,对应的子数组为 [-1,-2,-3]。好子数组有 [-1,3,2] 和 [2,4,5]。最大子数组和为 11 ,对应的子数组为 [2,4,5]。
2024-02-04 19:04:45 285
原创 3019. 按键变更的次数
给你一个下标从开始的字符串s,该字符串由用户输入。按键变更的定义是:使用与上次使用的按键不同的键。例如s = "ab"表示按键变更一次,而s = "bBBb"不存在按键变更。返回用户输入过程中按键变更的次数。shift或caps lock等修饰键不计入按键变更,也就是说,如果用户先输入字母'a'然后输入字母'A',不算作按键变更。
2024-01-31 22:31:25 225
原创 2670--------找出不同元素数目差数组
给你一个下标从开始的数组nums,数组长度为n。nums的数组可以用一个长度为n的数组diff表示,其中diff[i]等于前缀中不同元素的数目后缀中不同元素的数目。返回nums的数组。注意表示nums的一个从下标i开始到下标j结束的子数组(包含下标i和j对应元素)。特别需要说明的是,如果i > j,则表示一个空子数组。
2024-01-31 17:10:18 234
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人