xx科技 开发 笔试

1 . 数位之积

给定n ,找到最小正整数m,使m的各位之乘积等于n,不存在输出-1 ;

test case :

36
--->
49

首先m的位数一定要小,从9开始遍历,取n的因子,取到所有因子从小到大排序即可 ;

import java.util.* ;
class Solution {
  /*
    @param input:输入字符串序列
    @return int:返回正确的结果
  */
  public int func(String str) {
  	// Please fill this blank
    int n = 0 ;
    int ans = 0 ;
    char[] ch = str.toCharArray() ;
    for(char c : ch) n = n * 10 + (c-'0') ;
    int[] a = new int[1001] ;
    int idx = 0 ;
    for(int i=9;i>=2;i--){
    	while(n%i==0){
        	n /= i ;
          	a[idx++] = i ;
        }
    }
    if(n>1){
    	return -1 ;
    }
	int[] b = new int[idx] ;
    for(int i=0;i<idx;i++){
    	b[i] = a[i] ;
    }
    Arrays.sort(b) ;
    for(int x : b) ans = ans * 10 + x ;
    return ans ;
  }
}

2.礼盒

()表示一个礼品盒,0表示奖品,求最少才开礼品盒数量 ;

test case :

(((0)))
---->
3

左右求最小数量即可 ;

import java.util.* ;
class Solution {
  /*
    @param input:输入字符串序列
    @return int:返回正确的结果
  */
  public int func(String str) {
  // Please fill this blank
    char[] ch = str.toCharArray() ;
    int ans = 0 , res = 0 ;
    int n = ch.length ;
    int idx = 0 ;
    for(int i=0;i<n;i++) if(ch[i]=='0') {
    	idx = i ;
    	break ;
    }
    for(int i=0;i<idx;i++){
    	if(ch[i]=='(') ans ++ ;
      	if(ch[i]==')') ans -- ;
    }
    for(int i=n-1;i>idx;i--){
    	if(ch[i]==')') res ++ ;
      	if(ch[i]=='(') res -- ;
    }
    int yss = Math.min(ans,res) ;
    return yss ;
  
  }
}

3.做手机

假设第一天量产1台,接下来2天(即第二、三天)每天量产2件,接下来3天(即第四五、六天)每天量产3件......以此类推,请编程计算出第n天总共可以量产的手机数量。

模拟即可 :

import java.util.* ;
class Solution {
  /*
    @param input:输入字符串序列
    @return int:返回正确的结果
  */
  public int func(String str) {
  // Please fill this blank
    char[] s = str.toCharArray() ;
    int n = 0 ;
    for(char c : s) n = n * 10 + (c-'0') ;
    int ans = 0 ;
    int t = 1 ,d = 1 ,nd = 1;
    while(d<=n){
    	for(int day=0;day<nd&&d<=n;++day){
        	ans+=nd;
          	d++ ;
        }
      nd++ ;
    }
    return ans ;
  } 
}

#你都收到了哪些公司的感谢信?##我的实习求职记录##软件开发笔面经#
秋招joker 文章被收录于专栏

记录秋招...

全部评论

相关推荐

2025-12-06 01:10
已编辑
哈尔滨工程大学 Java
一面问的真细,二面不知为啥变双机位。9.29快手主站平时怎么学习&nbsp;AI&nbsp;的,国内外知名大模型,实习公司都用的什么大模型,怎么评估效果的java池化思想,线程池构造方法的核心参数,线程池中阻塞队列注意事项,submit方法参数和执行逻辑,shutdown和shutdownnow,核心线程允许过期吗threadlocal底层,为什么key是弱引用,key回收了再get或者set这个value会怎样aqs,如何保证公平性java代理java堆划分,新生代还有别的晋升老年代的情况吗,什么时候触发gc,gc失败抛什么异常,如何排查oom,导出dump命令redis数据结构,哪个底层是跳表,和其他数据结构对比布隆过滤器会出现大key问题吗,你咋实现的布隆过滤器你怎么实现redis分布式锁,可重入,续期聚簇索引非聚簇索引select语句会加锁吗,怎么实现的不加锁undolog&nbsp;redolog&nbsp;binlog怎么能让select加锁,update这个范围加的什么锁,update一条呢手撕简单01背包,接雨水10.10快手主站意图识别用的哪个大模型,走到意图和rag的比例,faq是点击的吗自然语言怎么识别的gap一年干啥了,转正怎么样没跟组里提意向吗,研究生研究方向是传统算法吗,会大模型微调吗注册场景为什么用布隆过滤器,原理分布式锁底层的key怎么拼的,value里是什么redis持久化zset底层mysql索引结构,一个表三个字段有主键唯一索引和没索引的字段会有几个b+树,聚簇索引非聚簇索引存的啥无手撕
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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