当前位置:网站首页>June brush question 02 - string
June brush question 02 - string
2022-07-06 09:38:00 【A Guang chasing dreams】
Brush questions in June 02—— character string
Today's brush topic content : character string
Preface
- Update the problem solution content of the problem brush every day
- Focus on personal understanding , Look at the difficulty and update the number of questions
- The title comes from Li Kou
- Try to work out at least one question every day
- Language java、python、c\c++
One 、 Today's topic
- 2278. Percentage of letters in string ||
- 551. Student attendance records I||
- 2255. Statistics is the number of strings for a given string prefix ||
- 1071. The greatest common factor of a string ||
Two 、 Their thinking
1. 2278. Percentage of letters in string
- The number of times the letter appears is obtained by one iteration
- Use the number of times
*100Divide by string lengthnthat will do
class Solution {
public int percentageLetter(String s, char letter) {
int[] hash = new int[256];
int n = s.length();
for (char c: s.toCharArray()){
hash[c]++;
}
return (int)(hash[letter] * 100 / n);
}
}
2. 551. Student attendance records I
- The sliding window , With left and right pointers
- The right pointer is used to mark the encounter
LThe length of , The left pointer increases automatically- If the characters
AThe number of times is less than 2 alsoLIt is true if it does not appear three times in a row
class Solution {
public boolean checkRecord(String s) {
int[] hash = new int[256];
boolean flag = true;
int count = 0;
int l = 0, r = -1, n = s.length();
char[] arr = s.toCharArray();
for (char c: arr){
hash[c]++;
}
while(l < n){
r = l;
count = 0;
while (r < n && arr[r] == 'L'){
count++;
r++;
if (count == 3) {
flag = false;
break;
}
}
l++;
}
if(hash['A'] < 2 && flag){
return true;
}
return false;
}
}
3. 2255. Statistics is the number of strings for a given string prefix
- General simulation , Traverse each word , Find the words that meet the conditions
- Count the times
class Solution {
public int countPrefixes(String[] words, String s) {
char[] arr = s.toCharArray();
int i, count = 0;
boolean flag;
for (String word: words){
i = 0;
flag = true;
for (char c: word.toCharArray()){
if (i < arr.length && arr[i] == c) i++;
else{
flag = false;
break;
}
}
if (flag) count++;
}
return count;
}
}
4. 1071. The greatest common factor of a string
- When I did it, I only thought of violence
There are many solutions to this problem Answer key
class Solution {
public String gcdOfStrings(String str1, String str2) {
if (str1.length() > str2.length()){
return gcdOfStrings(str2, str1); // Make the first string shorter
}
StringBuffer sb = new StringBuffer();
String ret;
int i;
if (str1.length() == 0) return "";
if (str2.contains(str1)){
char[] arr1 = str1.toCharArray();
char[] arr2 = str2.toCharArray();
for (i = 0; i < arr1.length; i++){
if (arr1[i] == arr2[i]){
sb.append(arr1[i]);
}
else{
break;
}
}
int len = sb.length();
if (len == 0) return "";
for (i = len; i < arr2.length; i++){
if (arr2[i] != sb.charAt(i % len)){
return "";
}
}
ret = sb.toString();
while (arr2.length % ret.length() != 0 || arr1.length % ret.length() != 0){
ret = sb.substring(0, len-1);
len -= 1;
}
return ret;
}
return "";
}
}
边栏推荐
- 068. Find the insertion position -- binary search
- AcWing 2456. Notepad
- Leetcode:608 树节点
- [Chongqing Guangdong education] reference materials for nine lectures on the essence of Marxist Philosophy in Wuhan University
- QML type: overlay
- Mapreduce实例(十):ChainMapReduce
- Cap theory
- Hard core! One configuration center for 8 classes!
- QDialog
- Oom happened. Do you know the reason and how to solve it?
猜你喜欢
随机推荐
一大波開源小抄來襲
Master slave replication of redis
Mapreduce实例(四):自然排序
Solve the problem of too many small files
YARN组织架构
解决小文件处过多
go-redis之初始化連接
英雄联盟轮播图手动轮播
面试突击62:group by 有哪些注意事项?
五月集训总结——来自阿光
One article read, DDD landing database design practice
Kratos战神微服务框架(一)
MapReduce instance (IX): reduce end join
QML control type: Popup
Withdrawal of wechat applet (enterprise payment to change)
Redis之Geospatial
基于WEB的网上购物系统的设计与实现(附:源码 论文 sql文件)
Minio distributed file storage cluster for full stack development
Webrtc blog reference:
Redis' performance indicators and monitoring methods








