12
返回列表 发新帖
楼主: peach=。=
跳转到指定楼层
上一主题 下一主题
收起左侧

Facebook电话面

🔗
wsyzxxb 2017-10-19 23:13:03 | 只看该作者
全局:
SXY123 发表于 2017-10-10 12:20
求LZ发一下双指针的解法?感觉难度很大,怎么写都不对

应该是类似sliding window吧?
回复

使用道具 举报

🔗
king_lm 2017-10-22 05:31:15 | 只看该作者
全局:
SXY123 发表于 2017-10-10 12:20
求LZ发一下双指针的解法?感觉难度很大,怎么写都不对

写了一个代码,你可看看,对不对= =
array全正数,k也是正数
  1. public class SubarraySum {
  2.        
  3.         public int equalToKPositive(int[] nums, int k) {
  4.                 int count = 0;
  5.                 int sum = 0;
  6.                 int start = 0;
  7.                 for(int i = 0; i < nums.length; i++) {
  8.                         sum += nums[i];
  9.                         while(sum > k) {
  10.                                 sum -= nums[start];
  11.                                 start++;
  12.                         }
  13.                         if(sum == k) {
  14.                                 count++;
  15.                         }
  16.                 }
  17.                 return count;
  18.         }
  19.        
  20.         public static void main(String[] args) {
  21.                 SubarraySum obj = new SubarraySum();
  22. //                int[] nums = {0,0,0,1,0,0,0};
  23.                 int[] nums = {1,2,3,4,1,2,2,2,2};
  24.                 int k = 4;
  25.                 System.out.println(obj.equalToKPositive(nums, k));
  26.         }
  27. }
复制代码
回复

使用道具 举报

🔗
844587076 2017-11-5 00:47:59 | 只看该作者
全局:
king_lm 发表于 2017-10-22 05:31
写了一个代码,你可看看,对不对= =
array全正数,k也是正数

如果都是positive,应该是先sort再用双指针,nlogn,你这个写法是n^2了吧。。

补充内容 (2017-11-6 17:26):
忽略我的评论。。之前脑子不清醒,想成two sum了。。。。
回复

使用道具 举报

🔗
smallhour 2017-11-5 01:08:48 | 只看该作者
全局:
用hashtable写吧,时间O(n),空间O(n)
回复

使用道具 举报

🔗
ninepig 2017-11-6 11:41:46 | 只看该作者
全局:
844587076 发表于 2017-11-5 00:47
如果都是positive,应该是先sort再用双指针,nlogn,你这个写法是n^2了吧。。

不是N^2 应该最差是2n 最差的情况是扫2遍 个人感觉
回复

使用道具 举报

🔗
844587076 2017-11-6 17:34:47 | 只看该作者
全局:
ninepig 发表于 2017-11-6 11:41
不是N^2 应该最差是2n 最差的情况是扫2遍 个人感觉

他那个code是n^2, 譬如要找的sum是整个数组的和,就是n^2
回复

使用道具 举报

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

本版积分规则

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