呦吼
去追啊
这个作者很懒,什么都没留下…
展开
-
762. Prime Number of Set Bits in Binary Representation
我觉得应该是要预处理,把素数表先求出来,我之前背过模板,let me try。。。我估计了一下如果LR都是小于10^6的话,就和1024*1024差不多在同一个数量级,也就是至多有差不多20个1左右,那就可以不用判断素数,直接把20以内的素数都标出来就行了class Solution { public int countPrimeSetBits(int L, int R) { ...原创 2018-08-31 21:48:07 · 91 阅读 · 0 评论 -
789. Escape The Ghosts
拖了好几天,打开这道题,做别的事去了,刚写完标兵的PPT,填了一下学信网的资料,还是把这道题给写了吧,等下去看迎新晚会2333javaclass Solution { public boolean escapeGhosts(int[][] ghosts, int[] target) { int maxStep = Math.abs( target[0]) + Ma...原创 2018-09-27 18:37:05 · 75 阅读 · 0 评论 -
451. Sort Characters By Frequency
实现了我一直的想法,就是先用map存储,再用list存储,相当于先将字母作为索引记录下出现的次数Map<Character,Integer> map = new HashMap<>();,再将次数作为索引记录出现该次数的字母 List<Character> []bucket = new List[ s.length() + 1 ];class Solut...原创 2018-09-27 23:00:58 · 96 阅读 · 0 评论 -
258. Add Digits
同余公式 dr( n ) = 1 + ( n - 1 ) % 9 digit rootclass Solution { public int addDigits(int num) { return 1 + ( num - 1 ) % 9 ; }}原创 2018-09-28 22:11:34 · 84 阅读 · 0 评论 -
748. Shortest Completing Word
很巧妙啊,,用素数乘积能否被整除来表征是否可以将字符全部包含class Solution { private static final int[] prime = { 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 , 53 , 59 , 61 , 67 , 71 , 73 , 79 , 83...原创 2018-09-28 22:49:37 · 106 阅读 · 0 评论 -
858. Mirror Reflection
图摘自题目的discussion高赞答案,第二张图是解释class Solution { public int mirrorReflection(int p, int q) { while( p % 2 == 0 && q % 2 == 0 ){ p /= 2; q /= 2; ...原创 2019-03-30 09:50:30 · 135 阅读 · 0 评论 -
655. Print Binary Tree
数组的column应该是树的高度h * 2 + 1,row就是树的高度following is the best solution I have ever seen:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val =...原创 2019-03-31 17:51:14 · 95 阅读 · 0 评论 -
11. Container With Most Water
class Solution(object): def maxArea(self, height): """ :type height: List[int] :rtype: int """ i, j = 0, len(height) - 1 water = 0 while i ...原创 2019-06-06 09:48:15 · 101 阅读 · 0 评论 -
160. 相交链表
在评论区看到的很优雅的解法:定义两个指针分别移动,当其中一个指针如pa移动到链表末尾时指向另一链表的头部headB ,再继续移动,当指针pb移动到末尾时使其指向headB,经过这样的操作,就消除了长度差,两指针当前位置与相交节点之间的距离相同果然优雅的解法不仅需要计算机技能,还需要数学知识==,以及智商==# Definition for singly-linked list.# cl...原创 2019-06-16 09:54:22 · 94 阅读 · 0 评论 -
88. 合并两个有序数组
官方题解三种思路思路一:将两数组作为一个数组进行排序 nums1[:] = sorted(nums1[:m] + nums2)思路二:双指针从前往后,需要额外的空间思路三:从后往前,最后不要忘了将nums2剩余的元素copy过去class Solution(object): def merge(self, nums1, m, nums2, n): ...原创 2019-06-11 17:05:57 · 108 阅读 · 0 评论 -
124. Binary Tree Maximum Path Sum
max_gain(特定节点)=节点.val + 子树中较大的值(一个子树),表示包含该节点在内的最大值但是整棵树的最大值可能并不包括根结点在内,所以需要检查是继续当前路径还是更改新路径,新路径需要检查node.val + left + right来决定是否更新# Definition for a binary tree node.# class TreeNode(object):# ...原创 2019-07-21 19:58:07 · 79 阅读 · 0 评论 -
4. Median of Two Sorted Arrays
根据题解里面的一个思路写的,啊 感觉 困难 等级的题,好难做==,代码也好难写有许多需要注意的点:最精妙的就是 利用二分法 找两数组的中间位置: m1 = left + (right - left) // 2 m2 = k - m1 if nums1[m1] < nums2[m2 - 1]: ...原创 2019-07-22 10:48:28 · 87 阅读 · 0 评论 -
4. Longest Common Prefix
找出一组字符串的最长公共前缀解法一:水平扫描从前往后枚举字符串的每一列,先比较每个字符串相同列的字符(即不同字符串相同下标的字符)然后再进行对下一列的比较。class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] ...原创 2019-07-23 11:46:30 · 85 阅读 · 0 评论 -
8. String to Integer (atoi)
题解中的最高赞答案:re.findall() 正则表达式用法星号 * :解包作用lstrip 方法:自己根据题解的实现:( python2 也是可以实现的 )class Solution(object): def myAtoi(self, str): """ :type str: str :rtype:...原创 2019-10-07 23:36:46 · 91 阅读 · 0 评论 -
241. Different Ways to Add Parentheses
大概是典型的分治?class Solution { public List<Integer> diffWaysToCompute(String input) { List<Integer> res = new LinkedList<>(); int l = input.length(); for( i...原创 2018-09-16 08:44:30 · 135 阅读 · 0 评论 -
638. Shopping Offers
典型的知道原理,但是不知道如何去写的题目==class Solution { public int shoppingOffers(List<Integer> price, List<List<Integer>> special, List<Integer> needs) { return helper( price , ...原创 2018-09-16 07:52:39 · 128 阅读 · 0 评论 -
128. Longest Consecutive Sequence
虽然明天机试,但是我好像没有之前那么慌张了,虽然我也不知道为啥。。。不懂。。感觉大佬好厉害class Solution { public int longestConsecutive(int[] nums) { int res= 0 ; int curMax = 0; Map<Integer,Integer> map =...原创 2018-09-15 23:24:40 · 92 阅读 · 0 评论 -
877. Stone Game
有点博弈的感觉。。所以只要有一种Alex 输的可能性,就是false;只有Alex不管怎么样拿都是赢才是true,所以是要找到Lee赢的走法,只要存在就是false,而 Alex每次必定会拿首尾中大的那个,emmm,写不出高大上的代码,我先模拟一下试试好了,然后WA了???看了一下题解,发现竟然是我理解题意有问题???题意是只要Alex能赢就可以?只要有一种拿法Alex赢就行?So...原创 2018-09-04 10:41:10 · 464 阅读 · 0 评论 -
892. Surface Area of 3D Shapes
emmm,好像到了下午,思路就不清楚了,脑袋不清楚,直接看了discussion既然自己没有想出来,那就记住他!嗯!这个是每次检查左边和后面, class Solution {public: int surfaceArea(vector<vector<int>>& grid) { int l = grid.size(); ...原创 2018-09-04 17:36:44 · 207 阅读 · 0 评论 -
739. Daily Temperatures
自己写的跑的贼慢。。。如下:class Solution { public int[] dailyTemperatures(int[] temperatures) { int l = temperatures.length; int[] res = new int[ l ]; for( int i = 0 ; i < l ; ...原创 2018-09-05 08:10:08 · 78 阅读 · 0 评论 -
小细节
今天突然发现了一个很重要的小细节== int k = 2; for( int i = 0 ; i < 64 ; i += k <<1 ){ cout<< k <<" "; cout<< i <<endl; } int k = 2; for( int ..原创 2018-09-07 19:52:15 · 94 阅读 · 0 评论 -
260. Single Number III
这次是有两个数字只出现了一次,上次只出现了一次那个一个思路是用异或做的,还一个思路是根据i和i-1的对应关系改变值的正负(是在数组的值都在下标范围内才可以这样做),这次这个嘛,let me think think,还要求线性时间复杂度,常数空间复杂度用Map的话,就不是常数空间复杂度了吧,,没想出来,看了一下discussion,真是,,惊为天人啊,,,想法好奇,使用了两次异或XOR...原创 2018-09-05 12:29:04 · 86 阅读 · 0 评论 -
856. Score of Parentheses
括号匹配,按照运算规则计算,不会,,,看了discussion还是不太会诺。。。vector没有初始化的话会出很多错误!!!Approach1:class Solution {public: int scoreOfParentheses(string S) { vector<int> res( 30 , 0 ); int l = ...原创 2018-09-05 16:04:53 · 113 阅读 · 0 评论 -
812. Largest Triangle Area
Approach1: class Solution {public: double findMax( vector<int> a , vector<int> b ,vector<int> c){ return 0.5 * abs( a[0] * b[1] + b[0] * c[1] + c[0] * a[1] - a...原创 2018-09-05 16:37:11 · 164 阅读 · 0 评论 -
485. Max Consecutive Ones
最简单的思路就是从头开始统计我的跑好慢,,,如下:class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { int l = nums.size(); int res = 0; int index = 0; wh...原创 2018-09-05 16:58:43 · 95 阅读 · 0 评论 -
695. Max Area of Island
出去走了一下午,被拉去做苦力,累死了,刚回来。 这道题应该是裸的DFS或者BFS吧。let me try 好像还没练过DFSclass Solution { public int maxIsland( int[][] grid , int x , int y , int row , int column ){ if( x >= 0 && ...原创 2018-09-08 22:17:42 · 94 阅读 · 0 评论 -
540. Single Element in a Sorted Array
要求时间复杂度为O(logn)我最开始的思路是二分查找,对比mid处的数与mid+1、mid-1是否相同,考虑到要根据区间的奇偶需要分情况讨论,我就没有往下写,但是看到了和我思路一样的,而且他把细节都细化清楚了,如下class Solution { public int singleNonDuplicate(int[] nums) { if(nums.length...原创 2018-09-03 21:33:34 · 83 阅读 · 0 评论 -
609. Find Duplicate File in System
一是对于java的很多数据结构的操作还不是很熟悉,不能熟练运用,我感觉到应该用一些数据结构来简化存储和查找的过程,但是不能具体到某一种数据结构;二是对于String类的一些方法还不是很会运用,会有很多疏忽,比如indexof是要在一个字符串里面,而不是字符串数组==这段程序跑的有点慢,class Solution { public List<List<String...原创 2018-09-09 11:06:49 · 104 阅读 · 0 评论 -
765. Couples Holding Hands
emmm,似懂非懂。。class Solution { private void swap(int[] arr , int x , int y ){ int tmp = arr[ x ]; arr[ x ] = arr[ y ]; arr[ y ] = tmp; } public int minSwapsCouples(...原创 2018-09-15 22:05:15 · 118 阅读 · 0 评论 -
350. Intersection of Two Arrays II
class Solution { public int[] intersect(int[] nums1, int[] nums2) { Map<Integer,Integer> hash1 = new HashMap<>(); ArrayList<Integer> res = new ArrayList<>(...原创 2018-09-15 22:40:31 · 99 阅读 · 0 评论 -
1023. Camelcase Matching
要达到题目的要求: query 中的 word 能否通过对 pattern 添加小写字母得到。分为两个步骤去判断是否成立:1. word 中 应包含这个 pattern 子串2. 如果只能通过添加小写字母得到,那么 word 和 pattern 中的大写字母应该一样题解中的:class Solution: def camelMatch(self, queri...原创 2019-10-10 09:33:16 · 126 阅读 · 0 评论