Carmen-Xiao
Carmen-Xiao
全部文章
分类
学习笔记(1)
题解(34)
归档
标签
去牛客网
登录
/
注册
Carmen
下面的按钮点一下,你会发现新大陆
TA的专栏
0篇文章
0人订阅
题解
0篇文章
0人学习
全部文章
(共35篇)
题解:四数相加II
本题咋眼一看好像和三数之和,四数之和差不多,其实差很多。 本题是使用哈希法的经典题目,而三数之和,四数之和并不合适使用哈希法,因为三数之和和四数之和这两道题目使用哈希法在不超时的情况下做到对结果去重是很困难的,很有多细节需要处理。 而这道题目是四个独立的数组,只要找到A[i]...
Java
2021-11-20
0
284
题解:两数之和
很明显暴力的解法是两层for循环查找,时间复杂度是O(n^2)。这里使用map集合来实现。 由此我们知道: 两数之和使用的是map,三数和四数之和使用的是双指针方法降低一层循环。 public int[] twoSum(int[] nums,&nbs...
Java
2021-11-20
0
257
题解:四数之和
四数之和,和三数之和是一个思路,都是使用双指针法, 基本解法就是在三数之和的基础上再套一层for循环。 但是有一些细节需要注意,例如: 不要判断nums[k] > target 就返回了,三数之和 可以通过 nums[i] > 0 就返回了,因为 0...
Java
2021-11-20
0
531
题解 | #数组中相加和为0的三元组(三数之和)#
本题和四数之和很像,但是四数之和是使用哈希表来做,转换成两数之和的思路来实现的。两层for循环就可以确定 a 和b 的数值了,可以使用哈希法来确定 0-(a+b) 是否在 数组里出现过,其实这个思路是正确的,但是我们有一个非常棘手的问题,就是题目中说的不可以包含重复的三元组。本题采用双指针加上排序来...
Java
2021-11-20
0
287
题解 | #两个链表生成相加链表#
模仿大数加法,模拟相加的过程。由于链表是从尾部开始相加的,链表只有next域,所以必须先把链表反转,做大数加法的思路,得到一个新的链表,然后将新的链表反转即可。 1.ListNode l1, ListNode l2反转。 2.模拟大数加法,得到reslian 3.反转res i...
Java
2021-11-18
0
262
题解 | #最长公共子串#
动态规划解决 动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录,我们得需要一些变量来保存,一般是用一维数组或者二维数组来保存。下面我们先来讲下做动态规划题很重要的三个步骤, 动态规划三部曲 定义数组元素的含义 我们会用一个数组...
Java
动态规划
2021-11-16
0
353
Deque和Queue的区别和用法
Deque Deque是一个双端队列接口(double ended queue),继承自Queue接口,Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。 Deque有三种用途: 普通队列(...
Java
堆(优先队列)
2021-11-16
0
809
题解 | #按之字形顺序打印二叉树#
在层序遍历的基础上修改代码,记录当前层数,对应的层数反转即可。 层序遍历代码: import java.util.*; /* * public class TreeNode { *  ...
Java
2021-11-16
0
240
题解 | #求二叉树的层序遍历#
层序遍历主要是用到了集合和队列两个数据结构,思路如下: 维护一个队列,队列保存每一层所有结点 list集合收集当前层的所有结点的值 遍历所有每一层,从队列中取出当前层所有结点,并收集结果到集合 左右节点按顺序加到队尾 ...
Java
2021-11-16
0
305
题解 | #大数加法#
Java和python的强制类型转换存在差异 数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。 ① 隐式转换 I、定义: 在运算过程中,由于不同的数据类型会转换成同一种数据类型,所以整型、浮点...
Java
2021-11-16
0
256
首页
上一页
1
2
3
4
下一页
末页