网易前端,今天的笔试题,第三题的数值好像很大啊,

一直报时间复杂度太大的问题,
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input = "";
var input_array = "";
process.stdin.on('data', function(data){
    input += data;
});
process.stdin.on('end', function (){
    input_array = input.split("\n");
    var line_1 = input_array[0];  
    var arr = line_1.split(" ");
    var k = parseInt(arr[0]);
    console.log(func(k));//输出结果
});

function func(num){
	var r = Math.floor(Math.sqrt(num))+1;
	var res = [];
	for(var i=0;i<r;i++){
		var s = i*i;
		if(j <= num){
			res.push();
		}
	}
	var count = 0;
	for(var k=0;k<r;k++){
		for(var l=0;l<r;l++){
			if(res[k] + res[l] == num){
				count++;
			}
		}
	}
	return 4*count;
}
不知道怎么解决,最后一半时间都在看这里,,,,好蛋疼#网易#
全部评论
用半径平方-x轴数的平方,得出y轴是否为整数,一个for循环,这样AC就全过了。
点赞 回复 分享
发布于 2016-09-12 20:49
题目是啥呀都没看到
点赞 回复 分享
发布于 2023-07-07 11:34 陕西
package test.wangyi; import java.util.Scanner; /**  *   * Description: netease coding test 1.  */ public class Main { public static void solve() { Scanner reader = new Scanner(System.in); while(reader.hasNext()) { int R2 = Integer.parseInt(reader.nextLine()); int res = 0;//top bottom left right int half = R2 / 2; if(isSquare(R2)) { res += 4; } for(int i = 1; i * i <= half; i ++ ) { if(isSquare(R2 - i * i)) { if(i * i == half) { res -= 4; } res += 8; } } System.out.println(res); } reader.close(); } public static boolean isSquare(int n) { double m = Math.sqrt(n); int a = (int)m; if(a * a == n) { return true; } else { return false; } }   public static void main(String[] args) {  Main.solve();   } }
点赞 回复 分享
发布于 2016-09-13 12:57
不用这么麻烦,只用一层循环,然后判断一个球是不是圆上就可以了
点赞 回复 分享
发布于 2016-09-12 21:36
#include <stdio.h> #include <iostream> #include <math.h> using namespace std; int main() { int count = 0; int rr; cin >> rr; int max = (int)sqrt(rr); for (int x = 1;x <= max;x++) { int temp1 = (int)sqrt(rr - x*x); double temp2 = sqrt(rr - x*x); if (!(temp2 - temp1)) { count++; } } count *= 4; cout << count; return 0; }
点赞 回复 分享
发布于 2016-09-12 21:03
考虑到对称我把圆心分成了八份,只在那个区间去算,然后*8 如果圆与xy轴焦点也是的话,就+4 不过只通过90%,不知道哪里没考虑到,或者考虑错误,唉
点赞 回复 分享
发布于 2016-09-12 20:54

相关推荐

已经麻木了...
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
08-15 11:10
门头沟学院 Java
不愁明年没工作了
自来熟的放鸽子能手面...:字节转正,九成九稀罕物
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
08-14 11:30
门头沟学院 Java
失去了成为米孝子的机会
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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