关注
一考试就歇菜,就第一道题a了25。感觉题都见过,下来又会写了,第二题可以参考一下这个,就是一个简单的递归就可以了,当然在使用优先队列排序的时候还要再改一下,因为字符串比较大小的时候是会考虑小数点的,可以先把字符串转成double类型之后在再进行比较。
main() {
String str = "1200130";
PriorityQueue<String[]> queue = new PriorityQueue<String[]>((a,b)->{
double x1 = Double.valueOf(a[0]);
double x2 = Double.valueOf(b[0]);
if(x1!=x2) {
return (int)(x1 - x2);
}
Double y1 = Double.valueOf(a[1]);
Double y2 = Double.valueOf(b[1]);
return (int)(y1 - y2);
});
StringBuilder builder = new StringBuilder();
dfs(str,0,queue);
while(!queue.isEmpty()) {
String[] poll = queue.poll();
builder.append(poll[0]);
builder.append(",");
builder.append(poll[1]);
if(queue.isEmpty()){
continue;
}
builder.append(",");
}
System.out.println(builder.toString());
}
public void dfs(String str, int index,PriorityQueue<String[]> queue) {
if(index==str.length()){ // 以0开头或者走到了尽头
return;
}
if(str.charAt(index)=='0'||(index+1<str.length()&;&;str.charAt(index+1)=='0')){
dfs(str,index+1,queue);
return;
}
String l = str.substring(0,index+1);
String r = str.substring(index+1,str.length());
List<String> left = getAllNums(l);
List<String> right = getAllNums(r);
for(int j = 0; j < left.size(); j++) {
for(int k = 0; k < right.size(); k++) {
queue.add(new String[]{left.get(j),right.get(k)});
}
}
dfs(str,index+1,queue);
}
public List<String> getAllNums(String str){
///不以0结尾
List<String> ans = new ArrayList<>();
ans.add(str);
if(str.charAt(str.length()-1)=='0'){
return ans;
}
for(int i = 1; i < str.length()-1; i++) {
if (str.charAt(i+1)==0){
continue;
}
ans.add(str.substring(0,i) + "." + str.substring(i,str.length()));
}
return ans;
}
查看原帖
点赞 1
相关推荐
查看8道真题和解析 点赞 评论 收藏
分享
汝皓轩:真裸考啊兄弟 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 27届学院二本,袋鼠云->快手->腾讯wxg,25年末聊聊我的前端之路2.1W
- 2... 适可而止吧!你就是“烂泥”6264
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?6018
- 4... 本科五段大厂实习,秋招五个offer,我的校招结束了5773
- 5... 大四双非水产专业上岸阿里后端(五)5455
- 6... 我的世界观,就是对抗优绩主义的武器3252
- 7... 27双非杀入字节!2602
- 8... 实习被“放养”零产出,该及时止损还是继续苟着?1551
- 9... 26届双非硕Java秋招总结1375
- 10... 如果2025的我是强化学习,那最终奖励会是什么?1363
正在热议
更多
# 实习没人带,苟住还是跑路? #
1806次浏览 60人参与
# 过年期间可能会经历的尴尬瞬间 #
48487次浏览 311人参与
# 元旦假期你打算怎么过 #
2453次浏览 80人参与
# 工作中的卑微时刻 #
29751次浏览 186人参与
# 我们是不是被“优绩主义”绑架了? #
4034次浏览 167人参与
# 如何看待应届生身份? #
210720次浏览 2233人参与
# 查收我的offer竞争力报告 #
263727次浏览 1644人参与
# 多益网络工作体验 #
60133次浏览 299人参与
# 从夯到拉,评价编程语言 #
27754次浏览 148人参与
# 牛客2025仙途报告 #
20238次浏览 318人参与
# 机械制造面试记录 #
299795次浏览 3143人参与
# 实习心态崩了 #
96526次浏览 494人参与
# 华为工作体验 #
277142次浏览 1355人参与
# 你有哪些缓解焦虑的方法? #
44751次浏览 873人参与
# 26届秋招投递记录 #
109263次浏览 652人参与
# 找工作,行业重要还是岗位重要? #
88194次浏览 1768人参与
# 华为池子有多大 #
154525次浏览 867人参与
# 今年你最想重开的一场面试是? #
17290次浏览 172人参与
# 参加过提前批的机械人,你们还参加秋招么 #
105288次浏览 1647人参与
# 牛友打假中心 #
109800次浏览 2699人参与

