Day64.算法训练

news/2024/11/19 21:25:52/

47. 全排列 II

class Solution {List<List<Integer>> result = new ArrayList<>();List<Integer> path = new ArrayList<Integer>();public List<List<Integer>> permuteUnique(int[] nums) {Arrays.sort(nums);boolean[] used = new boolean[nums.length];permuteUnique(nums, used);return result;}private void permuteUnique(int[] nums, boolean[] used) {if (path.size() == nums.length) {result.add(new ArrayList<>(path));return;}for (int i = 0; i < nums.length; i++) {if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == true) {continue;}if (used[i] == true) {continue;}used[i] = true;path.add(nums[i]);permuteUnique(nums, used);used[i] = false;path.remove(path.size() - 1);}}
}

93. 复原 IP 地址

class Solution {List<String> result = new ArrayList<>();public List<String> restoreIpAddresses(String s) {int pointSum = 0;StringBuilder sb = new StringBuilder(s);restoreIpAddresses(sb, 0, pointSum);return result;}private void restoreIpAddresses(StringBuilder s, int startIndex, int pointSum) {if (pointSum == 3) {String substring = s.substring(startIndex);if (valid(substring)) {result.add(s.toString());}return;}for (int i = startIndex; i < s.length(); i++) {String str = s.substring(startIndex, i);boolean valid = valid(str);if (!valid) {continue;}s.insert(i, ".");pointSum = pointSum + 1;restoreIpAddresses(s, i + 1, pointSum);pointSum = pointSum - 1;s.deleteCharAt(i);}}private boolean valid(String str) {if (str.length() == 0 || str.length() > 3) {return false;}if (str.length() > 1 && str.startsWith("0")) {return false;}int i;try {i = Integer.parseInt(str);} catch (NumberFormatException e) {return false;}if (i >= 0 && i <= 255) {return true;}return false;}}


http://www.ppmy.cn/news/1260392.html

相关文章

JavaSE基础50题:6. 求出0~999之间的所有“水仙花数”并输出

概念 “水仙花数”是指一个三位数&#xff0c;其各位数字的立方和确好等于该数本身。 如&#xff1a;153 135333,则153是一个“水仙花数”。 【方法】 如何获得每一位的数&#xff1a;如(153) 个位: 153 % 10 3 十位: 153 / 10 15 15 % 10 5 百位: 153 / 100 1 代码 pu…

【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)spring boot项目搭建、vue项目搭建、微信小程序项目搭建

项目笔记为项目总结笔记,若有错误欢迎指出哟~ 【项目专栏】 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)项目搭建 持续更新中… java+vue+微信小程序项目】从零开始搭建——健身房管理平台 项目简介Java项目搭建(IDEA)1.新建项目2.项目类型3.项目设置4…

解决方案 | 法大大电子签约加速农牧业数字化进程

近年来&#xff0c;我国农业技术得到快速发展&#xff0c;并开发出一批实用的数字农业技术产品&#xff0c;建立了专用网络数字农业技术平台。数字农业是农业现代化的高级阶段&#xff0c;是创新推动农业农村信息化发展的有效手段&#xff0c;也是我国由农业大国迈向农业强国的…

1466. 重新规划路线 --力扣 --JAVA

题目 n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成一颗树&#xff09;。去年&#xff0c;交通运输部决定重新规划路线&#xff0c;以改变交通拥堵的状况…

Shopify 开源 WebAssembly 工具链 Ruvy

最近,Spotify 开源了Ruvy,一个 WebAssembly 工具链,能够将 Ruby 代码转换为 Wasm 模块。Ruvy 基于ruby.wasm, 用 Rust 实现,提升了性能并简化了 Wasm 模块的执行。 Ruvy 利用了ruby.wasm提供的 Ruby 解释器模块,并使用wasi-vfs (WASI 虚拟文件系统)将其与所有指定的 Rub…

iOS 跳转安装应用最新版本

设置中的安装最新版本&#xff0c;最简单的实现方式&#xff0c;让应用跳转到APP Store安装最新版本。实际就是让你的应用打开一个连接而已。 NSURL *appURL [NSURL URLWithString:"https://apps.apple.com/cn/app/你的应用ID"]; // 判断设备是否能够打开该链接 if…

Java项目学生管理系统六后端补充

班级管理 1 班级列表&#xff1a;后端 编写JavaBean【已有】编写Mapper【已有】编写Service编写controller 编写Service 接口 package com.czxy.service;import com.czxy.domain.Classes;import java.util.List;/*** author 桐叔* email liangtongitcast.cn* description*/ p…

外包干了3个月,技术倒退2年。。。

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…