芝士算法(模拟) 目录替换所有问号提莫攻击Z字形变换外观数列数青蛙替换所有问号替换所有问号public String modifyString(String s) { char[] s1 s.toCharArray(); int n s.length(); for(int i 0 ; i n; i){ if(s1[i] ?){ for(char ch a ; ch z; ch ){ if((i 0 || ch ! s1[i - 1]) (i n - 1 || ch ! s1[i 1])){ s1[i] ch; break; } } } } return String.valueOf(s1); }提莫攻击提莫攻击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 ; }Z字形变换Z字形变换public String convert(String s, int numRows) { int d 2 * numRows - 2,n s.length(); StringBuilder ret new StringBuilder(); if(numRows 1) return s; for(int i 0; in ; id) ret.append(s.charAt(i)); for(int k 1;knumRows - 1 ; k){ for(int i k, j d - i;jn || in ; id,jd){ if(i n) ret.append(s.charAt(i)); if(j n) ret.append(s.charAt(j)); } } for(int i numRows - 1; in ; id) ret.append(s.charAt(i)); return ret.toString(); }外观数列外观数列public String countAndSay(int n) { String ret 1; for(int i 1 ; i n ; i ){ StringBuilder tmp new StringBuilder(); int len ret.length(); for(int left 0,right 0; right len; ){ while(right len ret.charAt(left) ret.charAt(right)) right; tmp.append(Integer.toString(right - left)); tmp.append(ret.charAt(left)); left right; } ret tmp.toString(); } return ret; }数青蛙数青蛙public int minNumberOfFrogs(String croakOfFrogs) { char[] c croakOfFrogs.toCharArray(); String t croak; int n t.length(); int[] hash new int[n]; MapCharacter , Integer index new HashMap(); for(int i 0 ; i n ; i){ index.put(t.charAt(i) , i); } for(char ch : c){ if(ch t.charAt(0)){ if(hash[n - 1] ! 0) hash[n - 1]--; hash[0]; }else{ int i index.get(ch); if(hash[i - 1] 0) return - 1; hash[i - 1]--; hash[i]; } } for(int i 0; i n - 1 ; i){ if(hash[i] ! 0) return -1; } return hash[n - 1]; }

相关新闻

最新新闻

KMP 平台差异到底怎么设计?从日志导出重构看扩展函数、interface 与 expect/actual

KMP 平台差异到底怎么设计?从日志导出重构看扩展函数、interface 与 expect/actual

在 KMP 项目里,做到一定阶段后很容易遇到一个问题:同一个功能,Android 和 iOS 的底层实现完全不同,到底应该怎么处理?常见方案似乎有很多。比如:expect / actual或者:commonMain 定义 interface…

2026/8/26 18:21:42
Altium Develop 学习资料整理

Altium Develop 学习资料整理

()引言 Altium Develop 可以理解为 Altium Designer(AD) 与 Altium 365(A365) 能力的结合。它不仅包含传统的原理图设计、PCB 设计和规则检查功能,也进一步结合了工作区、项目协作、版本管理、…

2026/8/26 18:21:42
大疆校园招聘C++开发类笔试题目

大疆校园招聘C++开发类笔试题目

客观题 第1题 单选题(4.00分) 题干 某打印服务系统仅配备2台可用打印机接口,使用初值为2的计数信号量S进行资源管理。系统中有5个打印任务线程,其中4个线程几乎同时执行P(S)操作申请打印机接口,此时信号量S的值以及处于…

2026/8/26 18:21:42
c语言续4(比特)

c语言续4(比特)

memecpy(void*dest,const void* source,siez_t num);函数memcpy(arr2,arr1,10);从数组arr1拷贝10个字符到arr2空间内。一、为什么使用文件?使数据的持久化。二、什么是文件?磁盘上的文件是文件;程序文件、数据文件。三、程序文件,…

2026/8/26 18:21:42
【电商项目】商品搜索开发复盘(1):根据需求拆解搜索接口的设计逻辑

【电商项目】商品搜索开发复盘(1):根据需求拆解搜索接口的设计逻辑

目录 一、搜索功能整体实现思路 1. 为什么不用MySQL,全程基于ES做搜索? 2. 整体核心逻辑:传参 → 处理 → 出参 1.1 传参(构造ES查询条件) 1.2 处理(执行ES搜索) 1.3 出参(封装…

2026/8/26 18:21:42
零基础入门python22:注册接口与密码哈希——为什么不能保存明文密码

零基础入门python22:注册接口与密码哈希——为什么不能保存明文密码

零基础入门python22:注册接口与密码哈希——为什么不能保存明文密码一、上一篇课后练习讲解 给账目增加日期时使用 date 类型,并让数据库列建立索引;测试应创建两天数据,查询某一天只返回对应记录。日期过滤要使用范围或等值比较&…

2026/8/26 18:16:41