摘要:
import java.util.LinkedList; import java.util.Queue; class HitCounter { private Queue<Integer> q = new LinkedList<Integer>(); /** Initialize your data 阅读全文
摘要:
hi /* * 152. Maximum Product Subarray * 题意:连续子序列最大乘积 * 难度:Medium * 分类:Array, Dynamic Programming * 思路:保存最大,最小值,因为负负得正。dp不用保存数组,空间可以压缩。 * Tips:Product是 阅读全文
摘要:
给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 : 数组的长度为 [1, 20,000]。 数组中元素的范围是 [-1000, 1 阅读全文
摘要:
回溯法 class Solution { public List<List<String>> solveNQueens(int n) { List<List<String>> solutions = new ArrayList<List<String>>(); int[] queens = new 阅读全文
摘要:
给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找到了,删除它。 说明: 要求算法时间复杂度为 O(h),h 阅读全文
摘要:
给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 int[] shuffle() 返回数组随机打乱后的结果 阅读全文
摘要:
输入:head = [[1,1],[2,1]] 输出:[[1,1],[2,1]] 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对 阅读全文