
数据结构与算法
小 谋
这个作者很懒,什么都没留下…
展开
-
java数据结构 判断链表是否有环
判断链表是否有环 知识点:链表 快慢指针 描述 输入一个长度为n链表,反转链表后,输出新链表的表头。 public class Solution { public boolean hasCycle(ListNode head) { if(haed==null){ return false; } ListNode slow=head; ListNdde fast=head; while(fast!=null && fast.n原创 2021-10-10 20:06:59 · 133 阅读 · 0 评论 -
java数据结构 反转链表
反转链表 知识点:链表 双指针 描述 输入一个长度为n链表,反转链表后,输出新链表的表头。 public class Solution { public ListNode ReverseList(ListNode head) { if(head==null || head.next==null){ //判断链表为空或长度为1的情况 return head; } ListNode pre = null;原创 2021-10-10 19:56:10 · 129 阅读 · 0 评论 -
java数组结构 二维数组中的查找
二维数组中的查找 知识点:数组 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 给定 target = 7,返回 true。 给定 target = 3,返回 false。 public class Solution { public bool原创 2021-10-10 15:46:39 · 361 阅读 · 0 评论 -
java数据结构 调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面 知识点:数组 描述 输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 创建2个数组分别记录奇数和偶数元素,再返回再array数组中 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 *原创 2021-10-10 15:37:56 · 378 阅读 · 0 评论 -
java数据结构 顺时针旋转矩阵
顺时针旋转矩阵 知识点:数组 描述 有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。 对矩阵进行上下翻转,再进行对角线翻转 。 import java.util.*; public class Solution { public int[][] rotateMatrix(int[][] mat, int n) { // write code here int length=mat.len原创 2021-10-10 10:56:27 · 671 阅读 · 0 评论 -
java数据结构 两数之和
两数之和 知识点:哈希 数组 描述 给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。 数据范围:2\leq len(numbers) \leq 10002≤len(numbers)≤1000,1\leq numbers_i , target \leq 10^91≤numbers i ,target≤10 9 要求:空间复杂度 O(n)O(n),时间复杂度 O(nlogn)O(nlogn) 例如: 给出的数组为 [20,原创 2021-10-09 21:26:10 · 202 阅读 · 0 评论 -
java数据结构 合并两个有序的数组
合并两个有序的数组 知识点:数组 描述 给出一个整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组 数据范围: ,, 注意: 1.保证 A 数组有足够的空间存放 B 数组的元素, A 和 B 中初始的元素数目分别为 m 和 n,A的数组空间大小为 m+n 2.不要返回合并的数组,将数组 B 的数据合并到 A 里面就好了 3. A 数组在[0,m-1]的范围也是有序的 例1: A: [4,5,6,0,0,0],m=3 B: [1,2,3],n=3 合并过后A为: A原创 2021-10-09 20:41:18 · 368 阅读 · 0 评论 -
java数据结构 最长无重复子数组
最长无重复数组 知识点:数组 描述 给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。 子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组 数据范围:, 要求:空间复杂度O(n) ,时间复杂度 O(nlogn) 方法:使用队列,不断往队列中加入元素,当加入重复元素时,把队首元素移除 public class Solution{ public int maxLength (int[] arr){原创 2021-10-09 20:13:40 · 292 阅读 · 0 评论