梦会绽放
梦会绽放
全部文章
分类
题解(16)
归档
标签
去牛客网
登录
/
注册
梦会绽放的博客
人若无名,专心练剑
全部文章
(共7篇)
Java实现#寻找峰值#
从此题中得到的小感悟 :充分把握题意方能选用更合适的解题方法(类二分法) 此题难度中等,很容易想到思路1,但是仅此的话,不符合“中等”的标签;另外,题中要求时间复杂度为 O(log n),这让我们很自然地联想到二分法,我们所熟悉的二分法是基于有序表,这道题目数组并不一定有序,那又如何和二分法产生关...
Java
数组
二分查找
2022-02-10
3
602
题解 | #<图示详解>在旋转过的有序数组中寻找目标值#
思路:二分法 我们知道二分法适用于有序数组,并且题中告诉我们数组严格升序,只是经过了旋转,经过一番思考,我们可以充分利用好以上性质,写出让 面试官 想要的代码。 旋转后的数组分为两部分,[low...mid]和[mid...high],这两部分必有一个是有序数组,我们考虑每次都处理有序的那部分,...
Java
分治
数组
二分查找
2022-01-29
1
498
题解 | #排序(快排)#
思路:快排。 复杂度:平均时间复杂度O(nlog n),最坏时间复杂度O(n^2),空间复杂度O(n) 代码(JAVA实现) public class Solution { public int[] MySort (int[] arr) { if(arr==null||arr.le...
Java
数组
递归
排序
快排
2022-01-29
0
342
题解 | #(JAVA实现) 连续子数组的最大和(二)#
思路:滑动窗口。 空间复杂度 O(1)(不包含用于结果返回的数组),遍历一遍数组,时间复杂度 O(n) 代码(Java实现) public class Solution { public int[] FindGreatestSumOfSubArray (int[] array) { ...
Java
滑动窗口
数组
双指针
2022-01-27
3
681
题解 | #二维数组中的查找#
描述:在一个二维数组array中(每个一维数组的长度相同), 每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:不断地收缩矩阵的边界。 具体方法: 定义四个变量代表范围,up、down、l...
Java
数组
二维数组
搜索算法
2022-01-11
0
507
题解 | #反转链表#
思路:充分利用数组的特点。 注意到题中链表长度 0<=n<=100和链表节点的值满足|val|<=100的特点, 优先考虑建立一个长度为201的计数数组arr[],初始化为0,以val值作为数组下标,arr[val]表示值为val的节点的个数,对链表进行一次遍历, 遍历到值为v...
C++
链表
数组
计数
2021-12-30
0
331
[编程题]扑克牌顺子
可以这么理解,简单来说就是要是5个数字,最大和最小差值在5以内,并且没有重复数值。用一个set来填充数据,0不要放进去。set的大小加上0的个数必须为5个。此外set中数值差值在5以内。代码如下: import java.util.TreeSet; public class Solution { ...
模拟
数组
2019-09-22
72
3441