- 博客(82)
- 收藏
- 关注
原创 环形数组最大和,矩阵最小路径和,过河卒,拦截导弹
先看这个点是不是马点,是的话标记为零。令初始位置 dp[0][0]=1,这是可以走的点,状态转移方程。找出maxvalue,以及sum-minvalue,看哪个最大。求出他的最长递增序列和最长递减序列。
2022-08-24 22:46:54
285
原创 每日一题小易的升级之路,字符串中第一个只出现一次的字符,年终奖,数根
这种的话优先考虑map,存储元素和其出现的次数,再进行二次遍历。题中要考虑数字的长度,可以把这个数字当做一个字符串来处理。
2022-08-10 17:12:00
310
原创 每日一题杨辉三角的变形,二叉树的镜像,统计每个月兔子的出生总数(斐波那契)
通过观察每行偶数出现的情况,偶数出现的位置只有-1234。第n行第一个偶数出现的位置。
2022-07-22 22:10:08
221
原创 每日一题输入整数中二进制1的个数,手套(go),完全数计算,扑克牌大小
代码】每日一题输入整数中二进制1的个数,手套(go),完全数计算,扑克牌大小。
2022-07-22 20:02:01
132
原创 每日一题参数解析,跳石板(go),日期到天数转换,幸运的袋子
ak-1)),继续向后选择更大的数,必然无法满足!此时不必再继续向后搜索。如果有多个1,即当k=1时,sum(1)>pi(1)不满足,但下一个元素仍为1,则可以满足。1+1>1*1,所以要判断当前ak是否等于1,如果等于1,虽然不能满足,组合的个数不能增加,但是继续向后搜索,仍然有满足条件的可能.对于重复数字,组合只能算一个,要去重。(1)十年一闰百年不闰即如果year能够被4整除,但是不能被100整除,则year是闰年。(2)每四百年再一闰如果year能够被400整除,则year是闰年。...
2022-07-21 21:17:44
138
原创 位运算)每日一题求最大连续bit数,二进制插入,查找组成一个偶数最接近的两个素数
先需要判断素数,素数表示除过1和本身,不能被其它数整除。通过循环遍历来判断一个数是否为素。最近的两个素数应该从最中间的位置开始向两边查找。
2022-07-20 14:35:14
158
原创 每日一题合法括号序列判断,求最小公倍数,两种排序方法,二叉树的最近公共祖先
代码】每日一题合法括号序列判断,求最小公倍数,两种排序方法,二叉树的最近公共祖先。
2022-07-19 17:52:11
185
原创 每日一题连续最大和,不要二,字符串转整数,Fibonacci数列
本题可以通过先找到距离N最近的两个Fibonacci数,这两个数分别取自距离N的最近的左边一个数L和右边一个数R,然后通过min(N-L,R-N)找到最小步数。把所有格子都先定义为正常的格子,通过规则,将不能放的格子标记出来,最后看还有几个格子能放。单个字符减去‘0’,多是用于字符转数字的时候(如‘8’-‘0’的计算结果就是8)...
2022-07-19 13:36:23
79
原创 2181合并零之间的节点1221分割平衡字符串965单值二叉树
对于每两个相邻的0,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。然后将所有0移除,修改后的链表不应该含有任何0。给你一个链表的头节点head,该链表包含由0分隔开的一连串整数。链表的开端和末尾的节点都满足Node.val==0。贪心,一加一减为零时,便是一个答案。(遇到’R’就上一台阶,遇到’L’就下一台阶,每当到地平线上的时候,即截到一段平衡字符串。返回修改后链表的头节点head。...
2022-07-18 21:18:57
128
原创 每日一题 排序子序列,倒置字符串,字符串中找出连续最长的数字串,计算糖果,统计回文
end表示数字尾部,每次满足数字时,对max进行判断,当max小于于count时,更新max和end。用max表示经过的数字长度最大值,count表示数字计数器,当为字母时重置为0。
2022-07-18 17:09:42
105
原创 1624两个相同字符之间的最长子字符串1876长度为三且各字符不同的子字符串692前K个高频单词1295统计位数为偶数的数字
一个朴实无华的思路太朴实了。
2022-07-16 19:47:04
121
原创 575分糖果929独特的电子邮件地址374猜数字(二分查找)
这题太绕了,总结@之前的字符串中如果有“.”不碍事,如果有’+",不要该符号之后的字符串。放入set中,看有几个。语文不好都读不懂题了。
2022-07-14 20:00:24
203
原创 674最长连续递增子序列个数(普通法)1952三除数
代码1952给你一个整数 n 。如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。思路 看这个数能不能被三个数整数即可,模运算代码
2022-07-13 18:01:32
131
原创 1619删除某些元素后的均值 520检测大写字母1848到目标元素的最短距离
题目给你一个整数数组 arr ,请你删除最小 5% 的数字和最大 5% 的数字后,剩余数字的平均值。思路先排序,起始位置为数组长度的5%,结束为止为数值长度的95%,最后求均值所需要的长度为90%代码520题目我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如 “USA” 。单词中所有字母都不是大写,比如 “leetcode” 。如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。给你一个字符串 word 。如果大写用法正确,返回 true ;否则
2022-07-13 18:00:34
121
原创 1287有序数组出现次数超25%的数字(961模拟法)1550连续存在三个奇数的数组 1108IP地址无效化
给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。(模拟法)思路代码1550思路遍历数组,三个奇数相乘还是奇数代码1108题目代码......
2022-07-13 17:57:28
104
原创 1332删除回文子序列541反转字符串1154第几天1051高度检查器
题目给你一个字符串 s,它仅由字母 ‘a’ 和 ‘b’ 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。思路如果该字符串是回文,返回1,不是回文,返回2;代码541题目给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
2022-07-13 17:56:35
132
原创 485最大连续一的个数551学生出勤记录643数组最大平均值676魔法字典
思路代码551题目给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:‘A’:Absent,缺勤‘L’:Late,迟到‘P’:Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:按 总出勤 计,学生缺勤(‘A’)严格 少于两天。学生 不会 存在 连续 3 天或 连续 3 天以上的迟到(‘L’)记录。如果学生可以获得出勤奖励,返回 true ;否则,返回 false 。思路代码643
2022-07-13 17:55:36
78
原创 367有效的完全平方数563二叉树坡度278第一个错误版本1025除数博弈(牛客类似)
定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。16=4X4代码563代码278题目每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。思路二分查找法,如果中间版本都有问题,那前面的都有问题,如果中间版本没问题,那有问题的一定在中间版本之后1025代码......
2022-07-13 17:54:07
292
原创 1662两个字符串数组是否相等 724数组的中心下标
题目给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串没有思路 硬干代码724寻找下标给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。思路先算一
2022-07-10 23:17:52
95
原创 力扣 961长度2n数组找出现n次的元素 459重复的子字符串
你一个整数数组 nums ,该数组具有以下属性:nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。类比于数组中出现次数最多的一个元素代码459重复的子字符串题目给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。一个很有意思的思路自己加自己,掐头去尾找自己先s+s;例如s=abab,得到abababab -->掐头去尾后 bababa,此时字符串中还包含abab,返
2022-07-10 22:20:00
80
原创 力扣747 至少是其他数字两倍的最大数 1480一维数组动态和
给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。找出最大和次大,判断最大是不是大于或等与次大的两倍一维数组动态和题目silu代码.........
2022-07-10 21:18:14
88
原创 滑动窗口法模板力扣209长度最小的字数组
代码class Solution { public int minSubArrayLen(int target, int[] nums) {int left=0;int right=0;int cursum=0;int res=0;while(right<nums.length){ cursum=cursum+nums[right]; while(cursum>=target){if(right-left+1<res||res==0){ res=r.
2022-07-10 19:36:32
74
原创 每日一题 合唱团(动规)顺时针打印矩阵
有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?链接:https://www.nowcoder.com/questionTerminal/661c49118ca241909add3a11c96408c8来源:牛客网链接:https://www.nowcoder.com/questionTerminal/661c49118ca241909add3a11c96
2022-07-10 19:35:33
105
原创 牛客 子序列的数目 电话号码
定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)1.确定dp数组以及下标定义dp[i]j[j] :以i-1为结尾的s子序列中出现以j-1为结尾的t的个数2.确定递推公式当s[i - 1] 与 t[j - 1]相等时,dp[i][j] = dp[i - 1][j - 1] + dp[i - 1]
2022-07-07 19:13:54
110
原创 牛客 发邮件(类似于装信封)经典的错排问题最长上升子序列
链接:https://www.nowcoder.com/questionTerminal/95e35e7f6ad34821bc2958e37c08918bNowCoder每天要给很多人发邮件。有一天他发现发错了邮件,把发给A的邮件发给了B,把发给B的邮件发给了A。于是他就思考,要给n个人发邮件,在每个人仅收到1封邮件的情况下,有多少种情况是所有人都收到了错误的邮件?即没有人收到属于自己的邮件。思路(装信封)用A、B、C……表示写着n位友人名字的信封,a、b、c……表示n份相应的写好的信纸。把错装的
2022-07-06 12:04:55
159
原创 牛客 序列化二叉树
这是在牛客上通过的一个版本,在力扣上如果要反序列化可以是要list数组(Arrays.asList),不知道为什么牛客上这种写法没有通过。序列化:把对象转化为可传输的字节序列过程称为序列化。(二叉树变为字符串)反序列化:把字节序列还原为对象的过程称为反序列化。(字符串变为二叉树)使用前序遍历...
2022-07-05 22:49:58
98
原创 力扣409 最长回文串 数组奇数在偶数前面
挺有意思的一道题题目思路构成回文串的情况:1.每个字符都出现了两次2.每个组成对出现的字符加上一个单个字符、统计字符出现的次数即可,双数才能构成回文。因为允许中间一个数单独出现,比如“abcba”,所以如果最后有字母落单,总长度可以加 1。首先将字符串转变为字符数组。然后遍历该数组,判断对应字符是否在hashset中,如果不在就加进去,如果在就让count++,然后移除该字符!这样就能找到出现次数为双数的字符个数代码题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数
2022-07-05 16:27:56
90
转载 类加载过程和双亲委派模型
类加载的流程:1.加载:根据类名找到文件,读取文件,解析架构,把内容放到内存中,并构造出类的对象2.链接:如果该类依赖了一些其他类,链接过程就是把依赖内容进行引入3.初始化:初始化静态成员,并执行代码块a)构造该类的实例b)调用该类的静态属性或者方法c)使用子类时会触发父类的加载举例:分析如下代码的执行顺序。1.代码先从main方法执行。main 是Demo2这个类的静态方法,就会触发Demo2的类加载。2.BB 是 Demo2的父类,在加载Demo2之前,会先加载BB3.AA 又是BB 的父类,加载BB
2022-06-12 20:34:03
171
原创 牛客 判断二叉树是否为完全二叉树
给定一个二叉树,确定他是否是一个完全二叉树。完全二叉树的定义:若二叉树的深度为 h,除第 h 层外,其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二叉树。(第 h 层可能包含 [1~2h] 个节点)按照蹭层序遍历,将每个节点(包括空节点)依次放入队列中,如果在poll的时候有一个为空节点,下一个又不是空节点,那肯定不是完全二叉树...
2022-06-11 20:15:20
314
原创 力扣162 寻找峰值
峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。使用二分搜索法。如果nums[i]>nums[i+1],则在i的左侧,一定有峰值。如果nums[i]...
2022-06-10 22:16:51
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人