Shoppe笔试4.15 编程题1.5/3

第一道:先跳过了后来也没来得及回来做
第二题:算出所有加起来等于0的序列,我真的很纳闷,这是一道典型的三数之和的题目,用排序+ 双指针做可以把时间复杂度从O(n ^3)变成O(n ^ 2), 然而当我信心慢慢以为要AC的时候,竟然只过了百分之60?不知道各位大佬是怎么做的?能不能跟我分享一下思路,这题还需要更优解吗
下面是代码
package Testing;
import java.util.*;


import javax.xml.soap.Node;
public class Main 
{
	public static void main(String [] args)
	{
		Scanner scan = new Scanner(System.in);
		String input  = scan.nextLine();
		String[] arr = input.split(",");
		int[] numberArr = new int[arr.length];
		ArrayList<ArrayList<Integer>> output = new ArrayList<ArrayList<Integer>>();
		for(int i = 0; i < arr.length; i++)
			numberArr[i] = Integer.parseInt(arr[i]);
		Arrays.sort(numberArr);
	
		for(int i = 0; i < numberArr.length - 2; i++)
		{
			int left = i + 1;
			int right = numberArr.length - 1;
			while(left < right)
			{
				int sum = numberArr[i] + numberArr[left] + numberArr[right];
				if(sum == 0)
				{
					ArrayList<Integer> temp = new ArrayList<Integer>();
					temp.add(numberArr[i]);
					temp.add(numberArr[left]);
					temp.add(numberArr[right]);
					output.add(temp);
					left++;
					right--;
				}
				else if(sum > 0)
					right--;
				else if(sum < 0)
					left++;
			}
		}
		String finaloutput = "";
		finaloutput += output.get(0);
		for(int i = 1; i < output.size() - 1;i++)
			finaloutput += "," + output.get(i);
	
		System.out.print(finaloutput.replace(" ", ""));
	
	}
	

}
第三题:经典的机器人行走DP问题,直接AC

#shopee笔试##Testin云测##笔试题目#
全部评论
我也只有57.%,我以为是重复的答案的问题,然后拿哈希表过滤答案也一样
1 回复 分享
发布于 2020-04-15 12:48
第二题和你一样的方法,70多,也没a,不知道为啥
点赞 回复 分享
发布于 2020-04-15 12:43

相关推荐

04-08 23:37
已编辑
东华大学 结构工程师
点赞 评论 收藏
分享
04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务