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

算法专题六: 模拟

1.替换所有的问号

题目链接:1576. 替换所有的问号 - 力扣(LeetCode) 

class Solution {public String modifyString(String ss) {char[] s=ss.toCharArray();int n=s.length;for(int i=0;i<n;i++){if(s[i]=='?'){for(char ch='a';ch<='z';ch++){if((i==0 || ch!=s[i-1]) && (i==n-1 || ch!=s[i+1])){s[i]=ch;break;}}}}return String.valueOf(s);}
}

 

2.提莫攻击

题目链接:495. 提莫攻击 - 力扣(LeetCode)

class Solution {public int findPoisonedDuration(int[] timeSeries, int duration) {int ret=0;for(int i=1;i<timeSeries.length;i++){int x=timeSeries[i]-timeSeries[i-1];if(x>=duration){ret+=duration;}else{ret+=x;}}return ret+duration;}
}

 

3.N字形变换

题目链接:6. Z 字形变换 - 力扣(LeetCode)

class Solution {public String convert(String s, int numRows) {if(numRows==1){return s;}int n=s.length();StringBuilder ret=new StringBuilder();int d=2*numRows-2;//处理第一行for(int i=0;i<n;i+=d){ret.append(s.charAt(i));}//处理中间行for(int k=1;k<numRows-1;k++){for(int i=k,j=d-i;i<n || j<n;i+=d,j+=d){if(i<n){ret.append(s.charAt(i));}if(j<n){ret.append(s.charAt(j));}}}//处理最后一行for(int i=numRows-1;i<n;i+=d){ret.append(s.charAt(i));}return ret.toString();}
}

 

4.外观数列

题目链接:38. 外观数列 - 力扣(LeetCode) 

class Solution {public String countAndSay(int n) {String s="1";for(int i=1;i<n;i++){int len=s.length();StringBuilder tem=new StringBuilder();for(int left=0,right=0;right<len;){while(right<len && s.charAt(left)==s.charAt(right)){right++;}tem.append(Integer.toString(right-left));tem.append(s.charAt(left));left=right;}s=tem.toString();}return s;}
}

 

5.数青蛙

题目链接:1419. 数青蛙 - 力扣(LeetCode)

class Solution {public int minNumberOfFrogs(String c) {char[] croakOfFrogs=c.toCharArray();String s="croak";int len=s.length();int[] hash=new int[len];Map<Character,Integer> index=new HashMap<>();for(int i=0;i<len;i++){index.put(s.charAt(i),i);}for(char ch:croakOfFrogs){if(ch==s.charAt(0)){if(hash[len-1]!=0){hash[len-1]--;}hash[0]++;}else{int i=index.get(ch);if(hash[i-1]!=0){hash[i-1]--;hash[i]++;}else{return -1;}}}for(int i=0;i<len-1;i++){if(hash[i]!=0){return -1;}}return hash[len-1];}
}

 

希望对大家有所帮助!!!

相关文章:

  • 本地缓存的三种实现
  • Vxe UI vue vxe-table 实现表格数据分组功能,不是使用树结构,直接数据分组
  • 超标量处理器设计5-指令集体系
  • 力扣Hot100(Java版本)
  • upload-labs通关笔记-第3关 文件上传之黑名单绕过
  • 深度Q网络(DQN)的基本概念
  • Mirror的多人连接管理及房间系统
  • 第六节第二部分:抽象类的应用-模板方法设计模式
  • 为什么企业需要加密软件?
  • 经典中的经典-比特币白皮书中文版
  • B站PWN教程笔记-10
  • 集成设备管理(IDM)
  • uart16550详细说明
  • 【Canda】常用命令+虚拟环境创建到选择
  • 操作系统导论——第28章 锁
  • 根据输入的数据渲染柱形图
  • 2.重建大师输入输出数据格式介绍
  • 电池自动点焊机:多领域电池制造的核心设备
  • MCU程序加密保护(一)闪存读写保护法 加密与解密
  • nginx配置反向代理支持CORS跨域请求
  • KPL“王朝”诞生背后:AG和联赛一起迈向成熟
  • 颜福庆与顾临的争论:1930年代在中国维持一家医学院要花多少钱
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 四部门:到2025年底,全国行政村5G通达率超过90%
  • 退休10年后,70岁成都高新区管委会原巡视员王晋成被查
  • 60余年产业积累,“江苏绿心”金湖炼就“超级石油工具箱”