摘要:###题目 给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。 示例 1: 输入: [[0, 30],[5, 10],[1
阅读全文
摘要:###题解 方法一:hashmap构造旧节点和新节点的映射关系,为新节点next、random指针赋值。 方法二(空间复杂度更优):把新节点连接到对应旧节点后面,为新节点random指针赋值,把新节点拆出来连到新链表。 ###代码 方法一 class Solution { public Node c
阅读全文
摘要:###归并排序 ###代码 package Offer; public class mergeSort { public static void main(String[] args) { int[] nums = new int[] { 1, 3, 2, 3, 1, -1, 100 }; merg
阅读全文
摘要:###解题思路 实现一个类OddEven 有一个打印奇数的方法,有一个打印偶数的方法。 类中有一个volatile变量 ,用来控制当前状态是该哪个方法打印。 方法中打印每个数前首先判断volatile变量的状态,不该自己打印就使用Thread.yield()让出CPU,该自己就打印并调换状态。 在主
阅读全文
摘要:###题解 1 实现内部类node 2 维护top为头节点的链表 3 操作 操作1:push() 操作2: pop() 操作3: isEmpty() ###代码 package Exam; class MyStackStruct<T> { private class Node<U> { U val;
阅读全文
摘要:###题解 nodeA走一个链表A(A独有+公共),再走B独有的长度, nodeB走一个链表B(B独有+公共),再走A独有的长度。 结果:两者相遇点即为交点;若没有交点,两者都走到null,会返回null。 ###代码 public class Solution { public ListNode
阅读全文
摘要:###题目 ###题解 题意:根据m长子序列求长度为n的字典序最小的原序列,原序列元素为1ton; 题解:使用n个数中除子序列外剩余数组成otherNum数组。 两个指针指向两个数组首元素,比较子序列当前元素与otherNum数组当前元素,小的插入新数组,指针右移。 ##代码 import java
阅读全文
摘要:###题目 求和为target的数组元素组合数,含重复。 例: 输入 arr = { 1, 2, 3, 3, 4 } ,target = 6 输出 4 ###题解 dp[i][j]代表到数组第i-1个元素,目标和为j的组合数。 ###代码 package DP; public class Targe
阅读全文
摘要:###题目 输入正整数N,求从1到N所有数包含的二进制1的个数。 ###题解 这是一道找规律题==。 例:对于nums=1101(2进制)的方法compute(nums): 可以把它分成[1000(二进制),1101(2进制)]中二进制1的个数、[000(二进制),111(二进制)]中二进制1的个数
阅读全文
摘要:###题目 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pr
阅读全文