柚子96
柚子96
全部文章
剑指offer
Java学习(6)
python(8)
pytorch(12)
shell脚本(1)
一些project(1)
动态规划(10)
华为笔试题(6)
基于深度学习的行人再识别学习(7)
未归档(4)
机器学习(3)
配置(7)
归档
标签
去牛客网
登录
/
注册
柚子96的博客
全部文章
/ 剑指offer
(共80篇)
三数之和
题目:力扣 解题思路: 排序+双指针 排序使用的是快速排序,使数组有序 第一个数字的下标first的范围:[0,nums.length-3] 第二个数字的下标second的范围:[first+1, nums.length-2] 第三个数字的下标third的范围:[second...
2020-10-01
0
404
四数之和
题目:力扣 解题思路: 一、回溯法,但效率比较低,超时了 回溯法的难点在于剪枝,首先对数组进行一个排序,在同一级选择的时候不选择重复的元素。 二、双指针 固定住前两个,后两个使用双指针的方法寻找 //回溯法模板 void backtrack(选择列表, 路径){ i...
2020-10-01
0
440
查找和最小的K对数字 优先队列
题目:力扣 解题思路: 可以先了解一下优先队列 对于集合中找前K小的元素,常用的方法是可以使用大小为K的大根堆(用一个降序的优先队列实现),依次遍历集合中的元素 当堆未满时,即元素个数小于K 直接将元素加入到堆里 当堆满了时 ...
2020-10-01
0
467
有序矩阵中第K小的元素
题目:力扣 解题思路: 先变成一维数组,再利用快速排序,找到第K小的。没有利用原二维数组有序的特性。时间复杂度为,空间复杂度 其实这道题当时一看就考虑能不能用二分查找,因为它从左上到右下是有序的,但想了一会还是没想到解决方案,后面看了题解,是利用一条分割线,具体可以看题解 clas...
2020-10-01
0
425
.删除排序数组中的重复项 II
题目:力扣 解题思路: 这个题目我看了好久才理解双指针的解法,太菜了。 思路的话就是注释,主要是弄清楚每个变量代表着什么。 class Solution { public int removeDuplicates(int[] nums) { //j指向下一个...
2020-10-01
0
376
java 对10^9+7取模出现负数
对10^9+7取模得到负数的原因在于被除数为负数,你可能想不可能啊,不会是负数,我一直是加的,这里简单举个例子,当int类型的变量超过Integer.MAXVALUE时,会变为负值。 long res = 0; long cnt = 0; res = (res + (cnt+1)*cnt/2)...
2020-10-01
0
753
不同的二叉搜索树
题目:力扣 解题思路: 可以看注释 class Solution { StringBuffer sb = new StringBuffer(); List<Integer> choice = new LinkedList<>(); pub...
2020-10-01
0
403
复原IP地址
题目:力扣 解题思路: 这道题的难点在于剪枝的情况比较多,可能考虑不全。 class Solution { List<String> res = new LinkedList<>(); int min_len = 1; int max_l...
2020-10-01
0
489
分割数组的最大值
题目:力扣 解题思路:动态规划和二分查找 具体可看https://leetcode-cn.com/problems/split-array-largest-sum/solution/fen-ge-shu-zu-de-zui-da-zhi-by-leetcode-solution/ ...
2020-10-01
0
471
华为9.9第三题
import java.util.HashMap; import java.util.Scanner; public class Main { static int result = 0; public static class TreeNode{ int id; ...
2020-10-01
0
425
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页