无法提供摘要。这是一篇受保护的文章。
方法一:普通排序查找,将两个数组排成一个数组,时间复杂度为O(m+n),这期间不需要全部排序完,只需要排到中位数即可。 class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n1=0,n2=0; double mid; int length=(nums1.length+nums2.length)/2; int odd…
这道题比较简单,只要去重,无脑联想集合总没有错,因此使用数据结构HashSet。顺便复习了代码单元和码点的概念,分别用方法一(lengthOfLongestSubstring1)和方法二(lengthOfLongestSubstring2)而完成,但是时间复杂度是O(n²),因此思考别的算法。 参考此题的算法介绍,可以采用滑动窗口算法,方法三(lengthOfLongestSubstring3)将时间复杂度降为O(n),只遍历字符串一次。因为字符集是ASCII,取值在[0,128)之间,因此还有更简便的算法,之后再…
本题关键在于进位和补零,我是用递归实现的。使用递归方法应避免NullPointerException异常。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val =…
我觉得本题考察关键在于两点: 1.哈希表的的概念和用法。 2.算法复杂度 我写了两种算法解决该问题: 1.穷举法,算法比较简单,用两个for循环遍历数组,时间复杂度为O(n²),空间复杂度为O(1)。 2.使用hashmap,遍历数组,将数组下标和值(计算过的)反向存入hashmap中,时间复杂度为O(n),空间复杂度为O(n)。 class Solution{ public int[] twoSum1(int[] nums, int target…
时间过得真快,两年的时间转瞬即逝,两年前在纽约从12.04升级14.04的画面仿佛依稀昨天。而今却又要升级到16.04了,白驹过隙,如梦幻泡影。 两年,七百多天,不长不短,如露如电,于我,却总有可喜的变化,亦有可惜的遗憾..... 在掌上终端渐成主流的今天,PC和laptop貌似渐成鸡肋,操作系统变得不是那么重要,但是对于计算机研发人员来说,Linux系统仍是不可或缺的工具。而Ubuntu无疑仍是其中最优秀、流行的桌面系统。去年曾经听一个系统运维人员说,Ubuntu作为服务端操作…
SQL中casewhen结构具有两种格式——简单Case函数和Case搜索函数。语法分别如下: --简单Case函数 CASE <em>变量</em> WHEN <em>常量</em> THEN <em>表达式</em> WHEN <em>常量</em> THEN <em>表达式</em> ELSE <em>表达式</em> END --Case搜索函数 …
贴两个我Github上的quicksort代码。我曾经参加面试的时候,也会默默给面试公司和面试官做个评价。其中一个评价标准就是quicksort,很讽刺的是,一般会考察quicksort的互联网公司一般不会是规模较大的企业,多少有点水,而面试官不是态度比较散漫,就是水平较差。虽然我已倒背如流。 public static void quicksort(int[] array,int left,int right){ int index=partition(array,left,right); if(le…
使用关系数据库这么多年,感觉对日期和时间这种类型数据字段的处理和存储是最为繁琐的,不同类型的数据库不尽相同,风格各异。记忆力不好,每每忘记都要在网上上下求索,效率极低。鉴于此,特将一些心得、要点记录下来,以便日后参考。其实,无论是date、time抑或是datetime,需要弄清楚的地方无非只有两个方面:存储时间日期的数据类型,以及对其的各种操作和相关函数,比如提取年月日、转化为格式化字符串、日期时间的加减运算,等等等等。弄清楚了这些后,时间日期对于数据库“小牛”们真的仅仅就是“a piece of cake”…