- 博客(99)
- 收藏
- 关注
原创 004. 寻找两个正序数组的中位数
题目链接源题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路求第一个数组和第二个数组的长度,用length1和lengt
2022-05-01 17:05:59
240
原创 003. 无重复字符的最长子串(滑动窗口+Map)
无重复字符的最长子串题目思路示例代码小结题目给定一个字符串s,请你找出其中**不含有重复字符最长子串**的长度。思路遍历字符串,用双指针遍历,map存储分别设置指针left和right,初始化为0;(注意:left为无重复字符的最长子串的第一个字符)设置变量maxLength记录最大子串的长度,初始化为0遍历结束条件为right<s.length();分为两种情况如果map中不存在该字符,则将字符存入map中,更新不重复子串的最大长度 //不存在 if(!ma
2022-05-01 16:22:48
277
原创 002两数相加
两数相加题目解题思路代码题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路创建一个链表来保存两链
2022-04-30 21:02:26
171
原创 001两数之和
两数之和题目 [两数之和](https://leetcode-cn.com/problems/two-sum/)解题思路代码知识点题目 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble
2022-04-30 17:38:01
80
原创 Leetcode-JAVA版本链表专题学习
链表002两数相加代码(对应结点相加)019删除链表的倒数第N个结点代码一(倒数转正数)代码二(学习双指针)代码三(利用数组)021合并两个有序链表代码一(遍历链表)代码二(学习递归,暂时不会)023合并K个升序链表代码一(利用数组)代码二(学习优先队列,暂时不会)代码三(学习分治算法,暂时不会)024两两交换链表中的节点代码一代码二(学习递归,暂时不会)代码三(学习迭代,暂时不会)025K个一组链表翻转代码一代码二(学习递归,暂时不会)代码三(学习迭代,暂时不会)002两数相加代码(对应结点相加)/
2022-04-23 09:50:01
368
2
原创 学习Java
leetcode001两数之和代码(学习哈希)002两数相加代码(学习链表的创建和叠加)001两数之和代码(学习哈希)class Solution { public int[] twoSum(int[] nums, int target) { /* 题目重点: 返回的是下标 对应一个答案 同一元素不能重复出现 */ // 创建动态哈希表,元素顺序存取顺序不能保持一致
2022-02-02 19:39:10
1492
原创 日常JAVA打卡五道题(1.21)
leetcode083删除排序链表中的重复元素代码088合并两个有序数组代码094二叉树的中序遍历代码100相同的树代码101对称二叉树代码083删除排序链表中的重复元素代码class Solution { public ListNode deleteDuplicates(ListNode head) { // 犯错地方:头结点指向第一个结点 // 如果为空链表或只有一个结点 if(head==null||head.next==null){
2022-01-21 09:30:00
272
原创 日常打卡JAVA五道题(1.20)
letcode058最后一个单词的长度解析+代码一解析+代码二(耗时较短)066加一解析+代码067二进制求和解析+代码069Sqrt(x)解析+代码070爬楼梯解析+代码058最后一个单词的长度解析+代码一class Solution { public int lengthOfLastWord(String s) { /* 题目信息: 最后一个单词的长度 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
2022-01-20 09:30:00
96
原创 日常打卡JAVA五道题(1.19)
leetcode026删除有序数组中的重复项解析+代码027移除元素解析+代码028实现 strStr()解析+代码035搜索插入位置解析+代码053最大子数组和(朋友讲了一下动态规划)解析+代码026删除有序数组中的重复项解析+代码class Solution { public int removeDuplicates(int[] nums) { // 通过两个变量来完成 // 一个变量i来遍历 // 一个变量j来计数新长度并为依次存入不重复的元素的下标 //
2022-01-19 18:36:29
298
原创 日常打卡JAVA五道题(1.18)
leetcode 简单题型009回文数解析+代码013罗马数字转整数解析+代码014最长公共前缀解析+代码020有效的括号解析+代码021合并两个有序链表解析+代码009回文数解析+代码class Solution { public boolean isPalindrome(int x) { // 回文数,可以利用StringBuffer的reverse反转函数 // 将n转换为StringBuffer类型 StringBuffer s=new
2022-01-18 20:38:15
386
原创 002两数相加
leetcode 002两数相加解法一正确的解法:解法二错误的答案:正确的解法:两数相加解法一正确的解法://错误点三://指向空指针null的结点不可以指向新的结点 class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { /** 题目重点: 1.两个 非空 的链表(表示两个非负的整数); 2.每位数字都是按照 逆序 的方式存储
2022-01-16 18:01:22
403
原创 001两数之和
leetcode两数之和解析:代码:两数之和解析:读题的注意点:返回它们的数组下标;你可以假设每种输入只会对应一个答案;(不用考虑无解的情况)数组中同一个元素在答案里不能重复出现;可以按任意顺序返回答案;方法:用两个for循环设nums[m]+nums[n]=target//第一个for循环中,//令m=i;//另外一个变量other来记录target-nums[i]的差值m=i;other=target-nums[i];//在第二个for循环中,从i的下一个开始比较,下
2022-01-15 14:17:17
235
原创 T1.格子路径(111.24打卡)
格子路径题目解析代码题目在一个 2×2 的栅格中,从左上角出来,只能向右或向下移动,总共有 6 条路径可以到达栅格的右下角:求在一个 20×20 的栅格中,有多少条移动路径?解析代码在这里插入代码片...
2021-11-25 00:43:17
130
原创 T2.指数各位数之和(11.24打卡)
指数各位数之和题目解析代码题目2^15=32768 且各位数之和为 3+2+7+6+8=26,求 2^1000 各个位数之和。解析代码
2021-11-24 23:33:40
268
原创 T2.最长的考拉兹序列(11.23打卡)
最长的考拉兹序列 题目解析代码题目以下迭代序列定义在整数集合上:n → n/2 (当 n 是偶数时)n → 3n + 1 (当 n 是奇数时)应用以上规则,并且以数字 13 开始,我们得到以下序列:13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1可以看出这个以 13 开始以 1 结束的序列包含 10 个项。虽然还没有被证明(Collatz 问题),但是人们认为在这个规则下,以任何数字开始都会以 1 结束。以哪个不超过 100 万的数字开始,能给得到最长
2021-11-24 02:02:25
576
原创 T1.大数之和(11.23打卡)
大数之和题目解析代码题目计算如下一百个 50 位数的和,求这个和的前十位数:371072875339021027987979982208375902465101357402504637693767749000971264812489697007805041701826053874324986199524741059474233309513058123726617309629919422133635741615725224305633018110724061549082502306758820
2021-11-24 01:32:15
386
原创 T2.高度可除的三角数(11.22打卡)
高度可除的三角数 题目解析错误代码题目三角数即由依次排列的自然数的和构成,所以第 7 个三角数是 1+2+3+4+5+6+7=28,前十个三角数是:1,3,6,10,15,21,28,36,45,55,⋯,让我们列出前七个三角数的因子:可以看出 28 是第一个因子超过 5 的三角数,求第一个因子超过 500 的三角数。解析由题目可知,第i个三角数就是1到i的和(也就是等差数列数和)为i(1+i)/2;然后用一个计数器count来计数,当大于500时就表示找到了错误代码public
2021-11-22 14:07:00
338
原创 T1.网格中的最大乘积(11.22打卡)
网格中的最大乘积题目解析代码题目在下面这个 20×20 的网格中,对角线上相邻的四个元素已经用红色标记出来了,这四个数的乘积为 26 × 63 × 78 × 14 = 1788696:求在这个网格中,同一方向(上、下、左、右以及对角线)相邻四个元素最大乘积。解析要求:求网格中同一方向(上、下、左、右以及对角线)相邻四个元素最大乘积。那就可以遍历数组,求每一行和每一列,斜左上和斜右上的四个元素的乘积,比大小求最大值代码public class chapter7 { priv
2021-11-22 11:53:38
1137
原创 T2.和的平方与平方的和之间的差值(11.17进一步更新)
文章目录题目解析代码题目前十个自然数的平方的和为: * 12+22+32+⋯+102=385而前十个自然数和的平方为:(1+2+3+⋯+10)2=552=3025两者的差为3025−385=2640求前一百个自然数的和的平方与平方的和之间的差值。解析涉及两个公式前n个自然数的和的公式为n(n+1)/2前n个自然数的平方的和的公式为n(n+1)(2n+1)/2代码package edu.wust.competiton;import java.util.Scanner;pu
2021-11-21 14:25:00
370
原创 T2.最大回文数乘积(11.16进一步更新)
这里写目录标题题目解析代码题目回文数即从正反两边读都是一样的数,两个二位数的乘积中最大的回文数为 9009=91*99,寻找两个三位数乘积中最大的回文数。解析回文数即从正反两边读都是一样的数,可想到字符串中的反转函数String是不可变字符串StringBuffer和StringBuilder是可变字符串reverse():字符串内容反转代码...
2021-11-21 12:53:34
483
原创 T2. 质数的和(11.19)
题目质数的和10 以下的质数的和为 2+3+5+7=17,求所有两百万以下的质数的和。答案:142913828922
2021-11-20 18:53:52
108
原创 T1.特殊的毕达哥拉斯三元数(11.19)
文章目录题目题目毕达哥拉斯三元数是指一类三个自然数的集合,其中 a<b<c 且 a2+b2=c2,例如 32+42=52。仅存在一组毕达哥拉斯三元数使得 a+b+c=1000,求 abc。答案:31875000
2021-11-20 18:44:06
463
原创 T2.序列中的最大乘积(11.18)
文章目录题目解析代码题目在下面 1000 位数中,连续四个数的最大乘积为 9∗9∗8∗9=5832731671765313306249192251196744265747423553491949349698352031277450632623957831801698480186947885184385861560789112949495459501737958331952853208805511125406987471585238630507156932909632952274430435
2021-11-20 18:32:18
158
原创 T1.第 10001 个质数(11.18)
文章目录题目解析代码题目列出前六个质数,我们可以发现第六个质数为 13,那么第 10001 个质数是多少?解析掌握求质数的方法代码
2021-11-20 17:08:02
325
原创 T2.和的平方与平方的和之间的差值(11.17)
文章目录题目解析代码题目和的平方与平方的和之间的差值前十个自然数的平方的和为: * 12+22+32+⋯+102=385而前十个自然数和的平方为:(1+2+3+⋯+10)2=552=3025两者的差为3025−385=2640求前一百个自然数的和的平方与平方的和之间的差值。答案:25164150解析这里是引用代码...
2021-11-20 17:01:10
247
原创 T1.最小公倍数(11.17)
文章目录题目解析代码题目2520是可以被从一到十所有自然数整除的最小的数,即为从一到十的自然数的最小公倍数,求从一到二十所有自然数的最小公倍数。解析求从一到二十所有自然数的公倍数(显然1-19不是20的倍数),依次遍历20的倍数,然后来判断该倍数是否为3-19的倍数(20的倍数一定是偶数,则2不用判断,任何数都是1的倍数,故也不用判断),若是,则找到最小公倍数代码package edu.wust.competiton;public class chapter5 { publi
2021-11-20 16:53:29
257
原创 T2.最大回文数(11.16)
文章目录题目解析(以暴力求解为例)回文数的判断代码题目最大回文数乘积回文数即从正反两边读都是一样的数,两个二位数的乘积中最大的回文数为9009=91*99,寻找两个三位数乘积中最大的回文数。解析(以暴力求解为例)第一步:记录三位数乘积(即遍历范围为[100,999])第二步:判断是否为回文数,即数顺着读和逆着读大小是否一样第三步:最大即可用变量max来存储(注意要初始化)回文数的判断在这里插入代码片代码在这里插入代码片...
2021-11-20 16:51:05
1559
原创 T1.最大质因数(11.16)
文章目录题目解析质数(素数)的判断代码题目13195的质因数分别为5,7,13与29,600851475143最大的质因数是多少?解析设n=600851475143第一处:质因数,则要掌握求质因数的方法第二处:最大即可用一个变量max来比较存储(注意初始化)注释:质因数既是质子,又是因子,质数即素数(素数除了能表示为自己和1的乘积以外们不能表示为任何其他两个正整数的乘积);因数的范围为[1,n] ;1不是素数,则从2开始遍历到变量n,其次需掌握判断是否为素数的方法质数(素数)的判
2021-11-20 16:36:32
186
原创 T2.斐波拉契数列中不超过四百万的偶数的和(11.15)
文章目录题目解析(此处解析以暴力求解为例)代码题目斐波那契序列中的数都是由前两项加总得出,假设第一与第二项为1与2,则前十项分别为:1,2,3,5,8,13,21,34,55,89考虑不超过四百万的斐波那契数,计算其中偶数斐波那契数的和。解析(此处解析以暴力求解为例)第一处:斐波那契数列中的数由前两项相加得出,那我们可用两个变量来存储某一项的前两项第二处:范围:[1,4000000]第三处:偶数的判断:i%2==0//表面该变量i是偶数第四处:求和即可用变量sum来存储(注意初始化
2021-11-20 02:15:20
503
原创 T1.三或五的倍数(11.15)
题目:计算1000以下所有是3或5的倍数的自然数的和。此处解析以暴力求解为例解析:重点:第一点:1000以下的自然数即[0,1000)间的整数第二点:3或5的倍数即遍历到的变量i要满足i%3==0 ||i%5==0 //i%3==0判断是否为3的倍数 同理i%5==0判断是否为5的倍数第三点:求和即可用一个变量sum(注意要初始化为0)来存储代码package edu.wust.competiton;public class chapter1 {// 计算
2021-11-20 01:51:34
129
原创 符号+的用法
一元运算符,数字转化如果加号+应用于单个值,对数字没有任何作用,但是如果运算元不是数字,加号+则会将其转化为数字关于数字: <script> let a=+1; alert(a);//1 let b=2; alert(+b);//2 let c=-1; alert(+c);//-1 </script>关于非数字: alert(+true);//1 alert(+'');//0 alert(+" "
2021-09-21 11:36:47
747
原创 拼接字符串
方法一:用二元运算符+连接字符串如果加号+被用于字符串。它将合并各个字符串 <script> let name="wang"+"ye"; alert(name); </script>方法二:反引号反引号是 功能扩展 引号。它们允许我们通过将变量和表达式包装在 ${…} 中,来将它们嵌入到字符串中。例如: <script> <script> let name = "wang" + "ye"; alert(n
2021-09-21 10:31:05
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人