LeetCode

Posted 提拉米苏007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode相关的知识,希望对你有一定的参考价值。

1、两数之和:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

2、两数相加:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。

3、无重复字符的最长子串:给定一个字符串,找出不含有重复字符的最长子串的长度。

4、两个排序数组的中位数

5、最长回文子串:遍历字符串,从每个字符开始,往左右遍历看左右是否相等,相等继续往外扩散

6、Z字形变换

7、反转整数:除以10取余,取商注意负数、及溢出情况

8、回文数:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数:注意负数;1、先转字符串再判断;2、反转一半数字

11、盛最多水的容器:给定 n 个非负整数 a1a2,...,an,每个数代表坐标中的一个点 (iai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (iai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

     双指针法,一个指向开始,一个指向结尾,往中间移动

14、最长公共前缀:编写一个函数来查找字符串数组中的最长公共前缀。先遍历字符串数组,找出最短的字符串,遍历最短的字符串,和其他字符串一一比较;

15、三数之和:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。

       先排序,遍历数组,以当前数为目标值,从当前数的后一个数开始,到最后一个之间查找两个数与目标值相加=0的数,如果大于0,则右边的下标左移,如果小于0,则左边的下标右移,直到右边的下标大于等于左边的下标,结束当前的查找,其实相当于第一题。

16、最接近的三数之和:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

       同上题, 先排序,遍历数组,以当前数为目标值,从当前数的后一个数开始,到最后一个之间查找两个数与目标值相加接近target 的数,如果大于target ,则右边的下标左移,如果小于target ,则左边的下标右移,直到右边的下标大于等于左边的下标,结束当前的查找

18、四数之和四数之和:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

       同上题,先排序,遍历数组,两个for循环

19、删除链表的倒数第N个节点:2个指针,一个先走N步后,另一个指针从头结点开始,当第一个指针走到最后,另一个节点走到倒数第N个

20、有效的括号:给定一个只包括 ‘(‘‘)‘‘{‘‘}‘‘[‘‘]‘ 的字符串,判断字符串是否有效。用LinkedList或者数组实现

英文:https://leetcode.com/problemset/all/

中文:https://leetcode-cn.com/

以上是关于LeetCode的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

LEETCODE 003 找出一个字符串中最长的无重复片段

Leetcode 763 划分字母区间

LeetCode:划分字母区间763

Leetcode:Task Scheduler分析和实现

817. Linked List Components - LeetCode