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

【4.3蓝桥备战】小朋友崇拜圈、正则问题

文章目录

    • 小朋友崇拜圈
    • 正则问题

小朋友崇拜圈

  • 小朋友崇拜圈 - 蓝桥云课 (lanqiao.cn)
    拿到这道题要先把题目读懂。
    下面的一行是表示:编号为i的小朋友,崇拜的对象为编号为path[i]的小朋友。
    本题应该使用DFS,深度优先遍历找到可以成环的崇拜圈。

如果用通俗的话来说,就是:

  • 每次传入小朋友最崇拜的人和自己,如果找不到,就继续找他崇拜的人所崇拜的人。(刚开始传入path[i](x),后来传入path[x])。
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {static int N;// 第i个小朋友最崇拜的人就是path[i]。static int []  path;static int ans;public static void main(String[] args) {Scanner s = new Scanner(System.in);N = s.nextInt();path = new int [N + 1];for(int i = 1 ; i <= N ; i ++){path[i] = s.nextInt();}for(int i = 1 ; i <= N ; i ++){//每次传入当前小朋友和他最崇拜的人,dfs(path[i],i,1);}System.out.println(ans);}/**** @param x 被 i 崇拜的小朋友* @param ll 最找DFS要找回这个小朋友* @param cnt 返回圈数答案*/static void dfs(int x,int ll , int cnt){if(cnt > N) return ;//if(x == ll){ans = Math.max(ans , cnt);return;}dfs(path[x],ll,cnt + 1);}
}

正则问题

  • 正则问题 - 蓝桥云课 (lanqiao.cn)
    该题只需要掌握一个规律:
  1. 遇到左括号进入DFS递归栈。
  2. 遇到右括号退出DFS递归。但是返回的结果要加入current,继续统计当前正则串长度。
  3. 遇到 | 就比较current和max最大的一方即可。

最后返回结果时,也要比较一次current和max,因为可能最后一次current没有被统计。

DFS函数定义:计算当前() 中的最长正则串。

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {static String str;static char [] ch;static int idx  = -1;public static void main(String[] args) {Scanner s = new Scanner(System.in);str = s.nextLine();ch = str.toCharArray();System.out.println(dfs());}static int dfs(){int current = 0;int max = 0;while(idx < ch.length - 1){idx ++;if(ch[idx] == '('){current += dfs();}else if(ch[idx] == 'x'){current ++;}else if(ch[idx] == '|'){max = Math.max(current , max);current = 0;}else{break;}}return Math.max(max , current);}
}
http://www.lryc.cn/news/45400.html

相关文章:

  • MySQL读写分离中间件
  • 【Spring源码设计模式】单例模式外带设计模式的单例模式
  • go并发编程 —— singleflight设计模式
  • 【LeetCode】二叉树的中序遍历(递归,迭代,Morris遍历)
  • 银行数字化转型导师坚鹏:数字化转型背景下的银行柜员提升之道
  • ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有
  • 关于数据同步工具DataX部署
  • 如何开发JetBrains插件
  • 企业采购成本管理的难题及解决方案
  • 龙蜥白皮书精选:基于 SM4 算法的文件加密(fscrypt)实践
  • 【SpringBoot入门】SpringBoot的配置
  • react 学习整理
  • 物理引擎系统-ode
  • 函数设计—参数规则
  • rsync远程同步
  • 中国大陆IP段(仅大陆地区)【2020-07-24】
  • 从零开始的嵌入式Linux生活(一) 背景介绍
  • 后缀为whl的文件是什么?如何安装whl文件?学习一下(22)
  • 整合Juit
  • C#,码海拾贝(11)——拉格朗日(Lagrange)三点式曲面插值算法,《C#数值计算算法编程》源代码升级改进版
  • CentOS7系统安装MySQL 5.7
  • 基于粒子群算法优化BP神经网络的高炉si预测,PSO-BP
  • STM32输出PWM波控制电机转速,红外循迹避障智能车+L298N的详细使用手册、接线方法及工作原理,有代码
  • 3、AI的道德性测试
  • 银行数字化转型导师坚鹏:银行业务需求分析师技能快速提升之道
  • C++IO流
  • 交友项目【后端环境搭建】
  • 大事务问题解决方案
  • python开启局域网传输
  • 病毒丨熊猫烧香病毒分析