摘要: 这道题最简单的思路是把两个数组合并起来,再排序,如果数组长度是奇数,return 中间的那个数,如果数组长度是偶数,return 中间两个数的平均值。时间复杂度 O(nlogn)用于数组排序。 public double findMedianSortedArrays(int[] nums1, int 阅读全文
posted @ 2022-01-18 06:49 阳光明媚的菲越 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 这道题,要求cut ribbons,怎么cut都行,只要能cut出k条丝带就行,不是每条丝带都需要被cut,cut完没用的可以丢弃,求能cut出k条丝带的情况下,丝带的最大长度。你可以想象这样的场景,客户给你一堆丝带,让你帮忙cut出几条丝带,希望丝带越长越好,剩下的丝带就不要了。 暴力求解方法很简 阅读全文
posted @ 2022-01-16 15:56 阳光明媚的菲越 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 这道题咋看挺复杂,又要clone node还要clone random link,但其实只要用一个HashMap就可以轻松解决,以下是我的算法,先clone node和node的next link,然后clone node的random link,时间复杂度O(n): public Node cop 阅读全文
posted @ 2022-01-14 03:47 阳光明媚的菲越 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 一拿到这道题,我首先想的是用binary search做,但是因为结果String的长度不是固定的,用binary search很难实现。所以我写了第一个brute force的算法,时间复杂度是O(n2), 效率很低,beat 5%,而且很容易考虑不到edge case而出错。 Map<Chara 阅读全文
posted @ 2022-01-14 02:47 阳光明媚的菲越 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 这道题里面有个隐藏条件:nums[-1] = nums[n] = -∞, 这就意味着数组最边上的两个数也有可能符合条件被返回,算法如下: public int findPeakElement(int[] nums) { int i=0; for(;i<nums.length-1;i++){ if(n 阅读全文
posted @ 2022-01-04 05:53 阳光明媚的菲越 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 这道题很简单,其实是一个Stack的问题, 但是不用Stack,用一个StringBuilder就可以解决,时间复杂度和空间复杂度都是O(n). public String removeDuplicates(String s) { StringBuilder sb = new StringBuild 阅读全文
posted @ 2022-01-03 11:50 阳光明媚的菲越 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 这道题很明显,需要用到stack,我一开始的想法是用两个stack,一个存functions,一个存start times,算法如下: package stack; import java.util.List; import java.util.Stack; public class Exclusi 阅读全文
posted @ 2022-01-03 09:33 阳光明媚的菲越 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 这道题的暴力解法很简单,先check如果不删除任何字符,是否字符串是回文,如果不是,再挨个删除每个字符,check删除字符之后是否是回文。 时间复杂度O(n2), n是字符串s的长度,字符串很长的情况下会TLE,算法如下: class Solution { public boolean validP 阅读全文
posted @ 2022-01-03 05:25 阳光明媚的菲越 阅读(60) 评论(0) 推荐(0) 编辑
摘要: Assume the following rules are for the tic-tac-toe game on an n x n board between two players: A move is guaranteed to be valid and is placed on an em 阅读全文
posted @ 2022-01-02 15:47 阳光明媚的菲越 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 当我拿到这道题的时候,第一时间想到的就是如下的暴力解法,时间复杂度:O(nlogn)+O(1)≃O(nlogn),空间复杂度:O(n). 因为暴力解法每次都要对整个list做sort,时间复杂度是nlog(n), 对于大数据量的test case,会TLE. class MedianFinder { 阅读全文
posted @ 2022-01-01 07:19 阳光明媚的菲越 阅读(28) 评论(0) 推荐(0) 编辑