摘要:No.34, Search for a Range 后面的还是用java写吧。 这道题主要是找target在排好序的数组中的起始位置,例如5 7 7 8 8 10里面找8,结果为3,4,即从index=3到index=4都是8。题目要求O(logn),即二分。 这道题可以先找左起点,再找右终点,2l
阅读全文
摘要:No. 30, Substring with Concatenation of All Words 这个题其实一开始我都没明白什么意思。。。读了好几遍,发现是在s中找一个子串,这个子串里面包含words中的全部词,而且次数都跟words中一样,同时这个子串中不能含有其他多余的字符,输出符合要求的子串
阅读全文
摘要:No.19, Remove Nth Node From End of List 输入为一个链表,需要删除第n个节点,返回删除后的链表。 最直白的方法,先循环一遍记录该链表有多长,计算出应该删除的节点的前一个节点n+1位置,再从头循环,到该节点位置后,改变该节点的next到下一个节点的next上。如果
阅读全文
摘要:No.12, Integer to Roman,将一个int数转换为罗马数字(范围为1-3999)。 No.13, Roman to Integer,将罗马数字转换为int(范围为1-3999)。 这题没什么难度,主要是理解罗马数字的规则。 在罗马数字中: 1~9: {"I", "II", "III
阅读全文
摘要:No.11, Container With Most Water 这道题目在坐标轴中给出了若干平行于y轴的竖线,每两个搭配加上x轴组成一个盛水的容器,找出容量最大的容器。 最暴力的方法还是两重循环算,这不在我们讨论范围内。 这里采用贪心算法实现,在该题中有一个规律,如果说最终的结果是ij两个竖线组成
阅读全文