LeetCode
Mr_Faker
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法题for THS
第一题 穷尽集合之间的元素组合 public class THS01 { public static void main(String[] args) { List<String> list1 = new ArrayList<>(); list1.add("1"); list1.add("2"); list1.add("3"); List<String> list2 = new Ar原创 2022-03-19 15:03:57 · 619 阅读 · 0 评论 -
链表中环的入口结点--LeetCode第142题
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 题解: 快慢指针法,快指针一次走两步,慢指针一次走一步,当快慢指针第一次相遇,此时: 2(x+y)=n圈周长+x+y 相遇以后快指针回到head和慢指针以同样速度每次走一步,最终会在链表中环的入口结点处相遇。 这里可以这样理解, x + y = n圈周长, y = n圈周长 - x; 快慢指针再继续走x后, 快指针走到入口点,此时慢指针再圆中走的路程为: x + y, 刚好为圆n圈周长。 package com.a.原创 2021-01-14 21:43:51 · 351 阅读 · 0 评论 -
两个链表的第一个公共节点 -剑指Offer第52题
输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 解题思路: 可以先计算两个链表的长度,长度差为n,首先,比较长的链表header先往后移动n步,然后两个链表一起往后移动,如果一样,则为公共节点。 package com.alibaba.study.offer; /** * @Auther: w原创 2020-12-16 21:25:40 · 306 阅读 · 0 评论 -
数组中的逆序对 - 剑指Offer第51题
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 : 输入: [7,5,6,4] 输出: 5 解题思路: 参考LeetCode解题思路: https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/solution/shu-zu-zhong-de-ni-xu-dui-by-leetcode-solution/ package com.alibaba.s原创 2020-12-16 09:50:17 · 234 阅读 · 0 评论 -
合并K个升序链表 - LeetCode第23题
给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。 1->1->2->3->4->4->5->6 提示: k == lists.length 0 <原创 2020-12-14 19:23:38 · 265 阅读 · 0 评论 -
括号生成 - LeetCode第22题
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出:[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 解题思路: 采用递归的思路,每个位置放置一个字符,可能是“(”,也可能是“)”,但是左右括号数量不允许超过 n, 右括号数量在放置的时候,不允许超过左括号数量。 package com.alibaba.study.leetcode; import原创 2020-12-11 14:50:39 · 344 阅读 · 4 评论 -
电话号码的字母组合 - LeetCode第17题
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 解题思路: 可以按照递归的思路解题,递归遍历每一个数值,每个数字取一个字母,拼接起来。 import com.alibaba.fastjson.JSON; import java.util.Calendar; impor原创 2020-12-07 21:15:22 · 187 阅读 · 0 评论 -
最接近的三数之和 - LeetCode第16题
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 3 <= nums.length <= 10^3 -10^3 <= nums[i] <= 10^3 -10^4 <= target <= 10^4 示例 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近的和是 2 (原创 2020-12-07 18:49:09 · 218 阅读 · 2 评论 -
整数转罗马数字 - LeetCode第12题
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M原创 2020-12-03 23:52:24 · 225 阅读 · 0 评论 -
字符串转整数 - LeetCode第8题
请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。 假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。 该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数原创 2020-12-02 15:39:04 · 264 阅读 · 0 评论
分享