#阿里笔试#
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 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);
    }
}

全部评论
第二题(通过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
发现好像是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
小红书
校招火热招聘中
官网直投

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务