唉,京东又跪了

作为最想去的一家公司,梦寐以求的,这下希望破灭了

顺便个第二题ac思路
全部评论
用pow之后的值做索引,计算相同值出现的次数。n方复杂度。
点赞 回复 分享
发布于 2017-09-08 21:01
为什么这么确定跪了。。。
点赞 回复 分享
发布于 2017-09-08 21:42
京东是最想去的公司?那bat呢
点赞 回复 分享
发布于 2017-09-08 21:30
第二题是算幂次可能组合的,我一开始写错了,只过了20%,不知道这个对不对 import java.util.Scanner; /** * Created by YTY on 2017/9/8. */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long n = Long.parseLong(scanner.nextLine()); System.out.println(resolve(n) % 1000000007L); } private static long resolve(long n) { long result = n * n + (n - 1) * n;//1的幂的所有组合n*n个,2至n的幂的相同次数组合(n - 1) * n个(比如2^1=2^1,2^2=2^2...) for (long base = 2; base <= n; base++) {//从2开始,1计算过了 long maxBase = base;//记录base的pow次幂 boolean max = false;//记录base的pow次幂是不是已经超过n了 long maxPow = 0;//记录可能的偶数次幂个数 for (long pow = 2; pow <= n; pow++) {//从2开始,1计算过了 maxBase *= base; if ((pow & 1) == 1) {//奇数次幂 //这边我做的时候写的是result += maxBase <= n ? 1 : 0, 在n>4的情况下是错的,所以只ac20% result += maxBase <= n ? 2 : 0;////当前幂次没超过n,则maxBase^1=base^pow,反之也算一个,所以加2 } else {//偶数次幂 if (!max) {//当前幂次没超过n,可以试试看还有没有满足的可能 if (maxBase <= n) {//当前幂次没超过n maxPow++;//可能的偶数次幂个数+1,即(base^maxBase)^2=base^pow } else { max = true;//当前幂次超过n,之后不用再统计maxPow了 } } result += 2 * maxPow;//对称的也算,所以乘2 } } } return result; } }
点赞 回复 分享
发布于 2017-09-08 21:22
括号匹配问题: public static int process(String str){ int res = 1; int tmp = 0; for(int i=0;i<str.length();i++){ if(str.charAt(i)=='(') tmp++; else{ res*=tmp; tmp--; } } return res; } 幂级数问题: public static int cal(int n){ if(n==1) return 1; int res = 0; for(int i=2;i<=n;i++){ res+=i; } res+=n*n; for(int i=2;i<=Math.sqrt(n);i++){ int pow = 2; while(Math.pow(i, pow)<n){ int tmp = pow; while(tmp<=n){ res++; tmp*=pow; } pow++; } } return res%1000000007; } 括号问题100% AC,幂级数问题做到最后时间不够了!!!!后来补充完了,当时提交好像才10% AC。算了算了。。就当涨经验了。。。
点赞 回复 分享
发布于 2017-09-08 21:16
第一道题交卷才意识到自己少了一种情况的判断。。。。心累
点赞 回复 分享
发布于 2017-09-08 21:07
第二题是神奇数么? 用backtrack 找 sum / 2做的.
点赞 回复 分享
发布于 2017-09-08 21:06
第二道我就是就是用暴力递归AC的
点赞 回复 分享
发布于 2017-09-08 21:05
第二题 0<r<10的六次方,    也就是说  r只有6位,,,一个数组6个以下元素,平均分两个组,和相等,暴力呗
点赞 回复 分享
发布于 2017-09-08 21:04
100 20,第二题的神奇数没有思路,用暴力法只过了20,估计内存超了
点赞 回复 分享
发布于 2017-09-08 21:04
跪了
点赞 回复 分享
发布于 2017-09-08 21:03
90 20java
点赞 回复 分享
发布于 2017-09-08 21:03
第一题还蛮简单的,不过第二题怎么都不对,用递归做感觉是不是考虑的不对。。。
点赞 回复 分享
发布于 2017-09-08 21:02
第一题只有40%,我的思路是求连续的左括号数量,然后算阶乘。 只扫描一遍,阶乘也做了缓存处理,应该不是复杂度的原因。 public class JD_1 { private static int[] map = new int[20]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String seq = sc.nextLine(); char[] cseq = seq.toCharArray(); int cnt = 0; int res = 1; boolean flag = false;() for (int i = 0; i < cseq.length; i++) { if (cseq[i] == '(') { flag = true; cnt++; } else if (cseq[i] == ')') { if (flag) { res *= fib(cnt); cnt = 0; flag = false; } } } System.out.println(res); } } private static int fib(int n) { if (n == 1) return 1; if (map[n] != 0) return map[n]; else map[n] = n * fib(n-1); return map[n]; } } 请问有什么问题
点赞 回复 分享
发布于 2017-09-08 21:02
已经跪了,80 20
点赞 回复 分享
发布于 2017-09-08 21:01
第一题括号那个怎么改都是复杂度过大。。。第二题不会做。为什么有人说很简单?题目不一样吗
点赞 回复 分享
发布于 2017-09-08 21:01
又扎心了。
点赞 回复 分享
发布于 2017-09-08 21:00
觉得取余没毛病啊,不知在哪溢出
点赞 回复 分享
发布于 2017-09-08 20:59
20 30
点赞 回复 分享
发布于 2017-09-08 20:59
不会
点赞 回复 分享
发布于 2017-09-08 20:58

相关推荐

浪漫主义的虹夏:都是校友,还是同届,我就说直白点,不委婉了,我相信你应该也不是个玻璃心,首先你觉得一个双非的绩点写简历上有用吗?班长职务有用吗?ccf有用吗?企业会关心你高数满分与否吗?第二,第一个项目实在太烂,一眼就能看出是外卖,还是毫无包装的外卖,使用JWT来鉴权,把热点数据放进Redis这两个点居然还能写进简历里,说难听点这两个东西都是学个几十分钟,调用个API就能完成的事情,在双非一本的条件下,这种项目你觉得能拿出手吗,第二个项目你写的东西和你的求职方向有任何的匹配吗?第三,计设那一块毫无价值,如果想突出自己会前端,直接写入专业技能不行吗,最后,专业技能里像深入理解JVM底层原理这种你觉得这句话你自己真的能匹配吗?都是校友加上同届,我措辞直接,但希望能点出你的问题,想进大厂还得继续沉淀项目和学习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务