#阿里笔试#
7.30笔试

第一题(通过100%):
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.StreamTokenizer;
import java.util.LinkedList;
public class Main{
    public static void main(String[] args) throws IOException {
        StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        String str;
        st.nextToken();
        int k=(int)st.nval;
        st.nextToken();
        long n=(long)st.nval;
        n--;

        LinkedList<Long> stack=new LinkedList<>();
        while (n>0){
            stack.addLast(n%9);
            n/=9;
        }

        long ans=0;
        while(!stack.isEmpty()){
            ans*=10;
            if(stack.peekFirst()>=k){
                ans+=stack.pollFirst()+1;
            } else{
                ans+=stack.pollFirst();
            }
        }

        System.out.println(ans);
    }
}

全部评论
发现好像是return (b[1]-b[0])/(b[1]*(b[1]+1))-(a[1]-a[0])/(a[1]*(a[1]+1)); 这里一直是return 0;因为你这里int除法得到的是0,需要转为float;不过思路很强,已经很厉害了~
点赞 回复 分享
发布于 2021-08-04 11:53
第二题(通过0%,神奇): import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.StreamTokenizer; import java.util.Comparator; import java.util.PriorityQueue; public class Main{ public static void main(String[] args) throws IOException { StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); st.nextToken(); int N=(int)st.nval; while(N-->0){ st.nextToken(); int n=(int)st.nval; st.nextToken(); int m=(int)st.nval; PriorityQueue<int[]> queue=new PriorityQueue<>(new Comparator<int[]>() { @Override public int compare(int[] a, int[] b) { return (b[1]-b[0])/(b[1]*(b[1]+1))-(a[1]-a[0])/(a[1]*(a[1]+1)); } }); for(int i=0;i<n;i++){ st.nextToken(); int a=(int)st.nval; st.nextToken(); int b=(int)st.nval; queue.offer(new int[]{a,b}); } for(int i=0;i<m;i++){ int[] arr = queue.poll(); arr[0]++; arr[1]++; queue.offer(arr); } double ans=0;; while (!queue.isEmpty()){ int[] arr = queue.poll(); ans+=(double)arr[0]/arr[1]; } ans/=n; System.out.println(ans); } } }
点赞 回复 分享
发布于 2021-07-30 21:23

相关推荐

03-17 23:54
黑龙江大学 Java
来个白菜也好啊qaq:可以的,大厂有的缺打手
点赞 评论 收藏
分享
刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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