楼主: love1point
跳转到指定楼层
上一主题 下一主题
收起左侧

Leetcode 刷题记录!!!不信自己今年找不到工作!!!

 
🔗
 楼主| love1point 2015-6-23 08:58:15 | 只看该作者
全局:
stellari 发表于 2015-6-22 23:04
楼主我建议你搬运的时候还是要加原始出处。这不仅能让大家去原始出处看到原作者对该问题的分析,同时也是 ...

您真觉得我会直接复制别人的东西到这个帖子,而且会坚持这么久?别信那个人哈,他整天躲在阴暗角落偷窥然后攻击别人。对于那种人,我是直接忽略掉的。刷题找工作才是我们的priority哈。
回复

使用道具 举报

🔗
 楼主| love1point 2015-6-24 15:07:26 | 只看该作者
全局:
4Sum:   https://leetcode.com/problems/4sum/

idea: 因为结果要非递减数据,没的说,先排序,然后四个指针。有些答案需要再用个HashSet判读唯一性,但我不用也可以AC
  1. public class Solution {
  2.     public List<List<Integer>> fourSum(int[] nums, int target) {
  3.         List<List<Integer>> result = new ArrayList<List<Integer>>();
  4.         
  5.         Arrays.sort(nums);
  6.         
  7.         for(int i = 0; i < nums.length; i++)
  8.         {
  9.             for(int j = i + 1; j < nums.length; j++)
  10.             {
  11.                 int k = j + 1;
  12.                 int l = nums.length - 1;
  13.                 while(k < l)
  14.                 {
  15.                     int sum = nums[i] + nums[j] + nums[k] + nums[l];
  16.                     if(sum == target)
  17.                     {
  18.                         List<Integer> temp = new ArrayList<Integer>();
  19.                         temp.add(nums[i]);
  20.                         temp.add(nums[j]);
  21.                         temp.add(nums[k]);
  22.                         temp.add(nums[l]);
  23.                     

  24.                     
  25.                         if(!result.contains(temp))
  26.                         {
  27.                             result.add(temp);
  28.                         }
  29.                         
  30.                         k++;
  31.                         l--;
  32.                     }
  33.                     else if(sum < target)
  34.                     {
  35.                         k++;
  36.                     }
  37.                     else
  38.                     {
  39.                         l--;
  40.                     }
  41.                 }
  42.             }
  43.         }
  44.         return result;
  45.         
  46.         
  47.     }
  48. }
复制代码
回复

使用道具 举报

🔗
 楼主| love1point 2015-6-25 22:50:31 | 只看该作者
全局:
本帖最后由 love1point 于 2015-6-25 22:59 编辑

3 sum: https://leetcode.com/problems/3sum/

idea: 3 sum和4 sum 代码基本相同,不过3 sum 比 4 sum 多判断个重复元素才能ac
3 sum , 这种题目是需要判断相同的元素
比如 [-1, -1, 0, 1]
这两个-1 确实要判断一下




就是多着2行代码:
  • if(i != 0 && nums == nums[i-1])
  •             {
  •                 continue;
  •             }



为了方便记忆,其实4 sum加上这个判断也是可以ac的
  1. <i>public class Solution {
  2.     public List<List<Integer>> threeSum(int[] nums) {
  3.         List<List<Integer>> result = new ArrayList();
  4.         
  5.         Arrays.sort(nums);
  6.         for(int i = 0; i < nums.length; i++)
  7.         {
  8.             if(i != 0 && nums[i] == nums[i-1])
  9.             {
  10.                 continue;
  11.             }
  12.             int j = i + 1;
  13.             int k = nums.length - 1;
  14.             while(j < k)
  15.             {
  16.                 int sum = nums[i] + nums[j] + nums[k];
  17.                 if(sum == 0)
  18.                 {
  19.                     ArrayList<Integer> temp = new ArrayList<Integer>();
  20.                     temp.add(nums[i]);
  21.                     temp.add(nums[j]);
  22.                     temp.add(nums[k]);
  23.                     
  24.                     if(!result.contains(temp))
  25.                     {
  26.                         result.add(temp);
  27.                     }
  28.                     
  29.                     j++;
  30.                     k--;
  31.                 }   
  32.                 else if(sum < 0)
  33.                 {
  34.                     j++;
  35.                 }
  36.                 else
  37.                 {
  38.                     k--;
  39.                 }
  40.             }
  41.         }
  42.         return result;
  43.     }
  44. }
  45. </i>
复制代码
回复

使用道具 举报

🔗
zhuli19901106 2015-6-25 23:22:11 | 只看该作者
全局:
请问楼主一天大概刷几题?
回复

使用道具 举报

🔗
 楼主| love1point 2015-6-26 10:56:39 | 只看该作者
全局:
zhuli19901106 发表于 2015-6-25 23:22
请问楼主一天大概刷几题?

我目前新题只能3题左右,其他复习总结做过的题目,每天10题左右吧
回复

使用道具 举报

🔗
 楼主| love1point 2015-6-26 10:58:00 | 只看该作者
全局:
love1point 发表于 2015-6-17 17:30
已将所有题目编辑整理完毕,下一步,专题,比如 dfs题目等等

这一周,总结了一下类型题目

1. 2 sum, 3 sum, 4 sum 等
2. HashMap 题目
3, DFS题目
4. DP 题目
5. String 题目
回复

使用道具 举报

🔗
zhuli19901106 2015-6-26 11:04:24 | 只看该作者
全局:
love1point 发表于 2015-6-26 10:56
我目前新题只能3题左右,其他复习总结做过的题目,每天10题左右吧

嗯,贪多嚼不烂,我也不贪速度。我去年刷leetcode的时候,还只有140题左右,经过一年时间,又多了60多题了,他们更新倒是很勤快啊。
前几个月加了很多水题,估计被人给吐槽了,所以最近一两个月加的题目质量都还挺不错的。目前就剩skyline problem那题还没思路了,还在琢磨中。。
回复

使用道具 举报

🔗
 楼主| love1point 2015-6-26 11:19:33 | 只看该作者
全局:
zhuli19901106 发表于 2015-6-26 11:04
嗯,贪多嚼不烂,我也不贪速度。我去年刷leetcode的时候,还只有140题左右,经过一年时间,又多了60多题 ...

是啊,每几天就会增加一题。刷的速度都跟不上他们增加的速度。只能吃透题目,贪不了速度啊
回复

使用道具 举报

🔗
 楼主| love1point 2015-6-26 11:22:16 | 只看该作者
全局:
zhuli19901106 发表于 2015-6-26 11:04
嗯,贪多嚼不烂,我也不贪速度。我去年刷leetcode的时候,还只有140题左右,经过一年时间,又多了60多题 ...

今天刚出的这题你有啥好解法吗,讨论讨论哈
https://leetcode.com/problems/summary-ranges/
回复

使用道具 举报

🔗
zhuli19901106 2015-6-26 11:23:26 | 只看该作者
全局:
love1point 发表于 2015-6-26 11:22
今天刚出的这题你有啥好解法吗,讨论讨论哈
https://leetcode.com/problems/summary-ranges/

刚ac掉这题,今天主要在刷lintcode,所以leetcode放了一会儿。
这题已经排好序了,线性扫一遍就行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表