淘客网站建设要求,百度免费推广有哪些方式,做外贸用什么搜索网站,平面设计的前景怎么样目录
1. 移除链表元素 #x1f31f;
2. 跳跃游戏 II #x1f31f;#x1f31f;
3. 复原 IP 地址 #x1f31f;#x1f31f;
#x1f31f; 每日一练刷题专栏 #x1f31f;
Golang每日一练 专栏
Python每日一练 专栏
C/C每日一练 专栏
Java每日一练 专栏 1. 移…
目录
1. 移除链表元素
2. 跳跃游戏 II
3. 复原 IP 地址 每日一练刷题专栏
Golang每日一练 专栏
Python每日一练 专栏
C/C每日一练 专栏
Java每日一练 专栏 1. 移除链表元素
给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node.val val 的节点并返回 新的头节点 。
示例 1 输入head [1,2,6,3,4,5,6], val 6
输出[1,2,3,4,5]示例 2
输入head [], val 1
输出[]示例 3
输入head [7,7,7,7], val 7
输出[]提示
列表中的节点数目在范围 [0, 10^4] 内1 Node.val 500 val 50
出处
https://edu.csdn.net/practice/28091689
代码
import java.util.*;
class Solution {public static class ListNode {int val;ListNode next;ListNode(int x) {val x;}}public static ListNode removeElements(ListNode head, int val) {ListNode top new ListNode(0);top.next head;ListNode pre top;ListNode temp head;while (temp ! null) {if (temp.val val)pre.next temp.next;elsepre temp;temp temp.next;}return top.next;}public static ListNode createLinkedList(int[] nums) {if (nums null || nums.length 0) {return null;}ListNode head new ListNode(nums[0]);ListNode cur head;for (int i 1; i nums.length; i) {cur.next new ListNode(nums[i]);cur cur.next;}return head;}public static void printLinkedList(ListNode head) {ListNode cur head;while (cur ! null) {System.out.print(cur.val -);cur cur.next;}System.out.println(null);}public static void main(String[] args) {int[] nums {1,2,6,3,4,5,6};ListNode head createLinkedList(nums);printLinkedList(head);head removeElements(head, 6);printLinkedList(head);int[] nums2 {};head createLinkedList(nums2);printLinkedList(head);head removeElements(head, 1);printLinkedList(head);int[] nums3 {7,7,7,7};head createLinkedList(nums3);printLinkedList(head);head removeElements(head, 7);printLinkedList(head);}
}
输出
1-2-6-3-4-5-6-null 1-2-3-4-5-null null null 7-7-7-7-null null 2. 跳跃游戏 II
给定一个非负整数数组你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
示例:
输入: [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置跳 1 步然后跳 3 步到达数组的最后一个位置。
说明:
假设你总是可以到达数组的最后一个位置。
出处
https://edu.csdn.net/practice/28091690
代码
import java.util.*;
class jump {public static int jump(int[] nums) {int end 0;int steps 0;int maxPosition 0;for (int i 0; i nums.length - 1; i) {maxPosition Math.max(maxPosition, i nums[i]);if (i end) {end maxPosition;steps;}}return steps;}public static void main(String[] args) {int[] nums {2,3,1,1,4};System.out.println(jump(nums));}
}
输出
2 3. 复原 IP 地址
给定一个只包含数字的字符串用以表示一个 IP 地址返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。
有效 IP 地址 正好由四个整数每个整数位于 0 到 255 之间组成且不能含有前导 0整数之间用 . 分隔。
例如0.1.2.201 和 192.168.1.1 是 有效 IP 地址但是 0.011.255.245、192.168.1.312 和 192.1681.1 是 无效 IP 地址。
示例 1
输入s 25525511135
输出[255.255.11.135,255.255.111.35]
示例 2
输入s 0000
输出[0.0.0.0]
示例 3
输入s 1111
输出[1.1.1.1]
示例 4
输入s 010010
输出[0.10.0.10,0.100.1.0]
示例 5
输入s 101023
输出[1.0.10.23,1.0.102.3,10.1.0.23,10.10.2.3,101.0.2.3]提示
0 s.length 3000s 仅由数字组成
出处
https://edu.csdn.net/practice/28091691
代码
import java.util.*;
class restoreIpAddresses {private static ListString res new ArrayList();public static ListString restoreIpAddresses(String s) {if (s.length() 4)return res;backtrack(s, 0, new StringBuilder(), 0);return res;}private static void backtrack(String s, int start, StringBuilder sb, int pointNumOfSb) {if (pointNumOfSb 4)return;if (start s.length() pointNumOfSb 4) {res.add(sb.toString().substring(1));return;}for (int i start; i s.length() i - start 3; i) {String x s.substring(start, i 1);if (x.charAt(0) 0 x.length() 1)return;if (Integer.parseInt(x) 255) {sb.append(. x);backtrack(s, i 1, sb, pointNumOfSb 1);sb.delete(sb.lastIndexOf(.), sb.length());}}}public static void main(String[] args) {String s 25525511135;System.out.println(restoreIpAddresses(s));s 0000;res.clear();System.out.println(restoreIpAddresses(s));s 1111;res.clear();System.out.println(restoreIpAddresses(s));s 010010;res.clear();System.out.println(restoreIpAddresses(s));s 101023;res.clear();System.out.println(restoreIpAddresses(s));}
}
输出
[255.255.11.135, 255.255.111.35] [0.0.0.0] [1.1.1.1] [0.10.0.10, 0.100.1.0] [1.0.10.23, 1.0.102.3, 10.1.0.23, 10.10.2.3, 101.0.2.3] 每日一练刷题专栏
✨ 持续努力奋斗做强刷题搬运工 点赞你的认可是我坚持的动力 收藏你的青睐是我努力的方向
✎ 评论你的意见是我进步的财富
☸ 主页https://hannyang.blog.csdn.net/ Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏