当前位置: 首页 > news >正文

牛客NC362 字典序排列【中等 DFS Java/Go/PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/de49cf70277048518314fbdcaba9b42c

解题方法

DFS,剪枝

Java代码

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型* @return int整型ArrayList*/public ArrayList<Integer> orderArray (int n) {//DFS  注意剪枝ArrayList<Integer> ans = new ArrayList<>();int end = 9;if (n < 9) {end = n;}for (int i = 1; i <= end ; i++) {dfs(i, n, ans);}return ans;}public void dfs(int cur, int n, ArrayList<Integer> ans) {if (cur > n) return;ans.add(cur);for (int i = 0; i <= 9 ; i++) {int num = cur * 10 + i;if (num > n) //剪枝break;dfs(num, n, ans);}}
}

Go代码

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型* @return int整型一维数组*/
func orderArray(n int) []int {//dfs,注意剪枝ans := []int{}end := 9if n < end {end = n}for i := 1; i <= end; i++ {dfs(i, n, &ans)}return ans
}func dfs(cur, n int, ans *[]int) {if cur > n {return}*ans = append(*ans, cur)for i := 0; i <= 9; i++ {num := cur*10 + iif cur > n { //剪枝 很重要break}dfs(num, n, ans)}
}

PHP代码

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param n int整型 * @return int整型一维数组*/
function orderArray( $n )
{// dfs+剪枝$ans = [];$end = 9;if($n<9){$end= $n;}for($i=1;$i<=$end;$i++){dfs($i,$n,$ans);}return $ans;
}function dfs($cur,$n,&$ans){if($cur>$n){return;}$ans[count($ans)] = $cur;for($i=0;$i<=9;$i++){$num = $cur*10+$i;if($num > $n) break; //剪枝,非常关键dfs($num,$n,$ans);}
}
http://www.lryc.cn/news/352966.html

相关文章:

  • PHP获取文件路径getcwd()、__DIR__、__FILE__的区别
  • Kafka(十三)监控与告警
  • SBC3568启动升级,灵活更换动画logo
  • v-if 与 v-show(vue3条件渲染)
  • nuxt: generate打包后访问资源404问题
  • 【图像超分】论文精读:Residual Non-local Attention Networks for Image Restoration(RNAN)
  • AI大模型:大数据+大算力+强算法
  • 同名在线查询系统微信小程序源码下载支持多种流量主,附带系统教程
  • 2024年5月26日 十二生肖 今日运势
  • Vue 3 组件基础与模板语法详解
  • ACM实训冲刺第十八天
  • 22AP70/SS927
  • C++实现的代码行数统计器
  • C# 结合 JS 暴改腾讯 IM SDK Demo
  • 【Web】CISCN 2024初赛 题解(全)
  • 【C++进阶】AVL树
  • 云部署最简单python web
  • 【Pytorch】【MacOS】14.m1芯片使用mps进行深度模型训练
  • go学习笔记-从圣经中抄录的接口值的思考
  • ICML 2024 时空数据(Spatial-Temporal)论文总结
  • 多线程(C++11)
  • HLS入门
  • 电信光猫的USB存储对外网开放访问
  • 世界上首位AI程序员诞生,AI将成为人类的对手吗?
  • 什么是创造力?如何判断自己的创造力?
  • Elasticsearch集群搭建学习
  • 数据库(vb.net+OleDB+Access)简易学生信息管理系统
  • Android 自定义图片进度条
  • 对话:用言语构建深刻的思想碰撞
  • Linux完整版命令大全(九)