关注
IP那个LeetCode上做过,我记得最出乎意料的一点是以0开头的,只能是0,其他判断都还比较简单,DFS+DP很容易解决,代码是我LeetCode上的解决办法,问题略有不同,原问题返回所有IP,这里我size了一下 import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();
System.out.println(restoreIpAddresses(line).size());
}
public static List<String> restoreIpAddresses(String s) {
List<String> ret = new ArrayList<>();
if (s == null || s.length() < 4 || s.length() > 32)
return ret;
findIP(s, 0, 3, new Stack<>(), ret);
return ret;
}
public static void findIP(String s, int start, int part, Stack<String> stack, List<String> ret) {
if (part == -1) {
ret.add(toIP(stack));
return;
}
for (int i = start + 1, count = 0; count < 3 && i <= s.length(); i++, count++) {
if (s.length() - i >= part && s.length() - i <= 3 * part && Integer.parseInt(s.substring(start, i)) < 256) {
stack.push(s.substring(start, i));
findIP(s, i, part - 1, stack, ret);
stack.pop();
}
if (s.charAt(start) == '0')
break;
}
}
public static String toIP(Stack<String> stack) {
StringBuilder ret = new StringBuilder();
for (String s : stack) {
ret.append(s).append(".");
}
return ret.deleteCharAt(ret.length() - 1).toString();
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
05-16 00:33
哈尔滨工业大学 PCB工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... AI Agent 面试 Top50 必刷题1.2W
- 2... 要对实习同事表白吗?1.0W
- 3... 到底怎么和 AI 一起写一个好项目?6022
- 4... 实习dirty work,怎么包装产出5206
- 5... 当你有一个只想捆住你的妈妈5180
- 6... 每日面试题-5月19日3958
- 7... 三段实习,被室友骂工贼,我错了吗?3024
- 8... 看不懂组内文档,实习怎么偷产出?3005
- 9... 前京东HR说:这样改简历,真的会被一眼相中2792
- 10... 解决了xd们,发了个dy曝光视频,十几万播放,直接让他火速联系我,赔我路费了,兄弟们碰到不公平的违法行为,一定要积极捍卫自己权益2735
正在热议
更多
# 26届春招投递记录 #
32097次浏览 246人参与
# 妈妈治愈了你哪些脆皮时刻 #
47433次浏览 358人参与
# 27届实习投递记录 #
113514次浏览 1243人参与
# 我的工作日记 #
207774次浏览 1828人参与
# 我的求职总结 #
511948次浏览 7086人参与
# 你投了多少家公司?进展是___ #
248110次浏览 1447人参与
# 大学生该如何认清当下的就业环境? #
178711次浏览 943人参与
# AI面会问哪些问题? #
134202次浏览 3433人参与
# 要毕业了,再不说就来不及了 #
6036次浏览 109人参与
# 我与AI的日常 #
10627次浏览 192人参与
# 27届求职交流 #
499515次浏览 4657人参与
# 如果公司降薪,你会跳槽吗? #
168764次浏览 972人参与
# 今年秋招还有金九银十吗 #
85068次浏览 518人参与
# 25届非技术实习投递记录 #
159362次浏览 1027人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
168690次浏览 916人参与
# 应届生应该先就业还是先择业 #
202274次浏览 944人参与
# 快手求职进展汇总 #
775614次浏览 7155人参与
# 你以为的实习VS真实的实习 #
144163次浏览 760人参与
# 你觉得什么岗位会被AI替代 #
65349次浏览 386人参与
# 你的秋招进行到哪一步了 #
2802687次浏览 23414人参与
TCL公司福利 1293人发布