Chuyển đến nội dung chính

[LeetCode - 0306 - 2486] Append Characters to String to Make Subsequence

A. Bài viết

https://leetcode.com/problems/append-characters-to-string-to-make-subsequence/description/


B. Hướng dẫn

Để giải bài này, chúng ta cần sử dụng kỹ thuật 2 con trỏ. 1 con trỏ vào chuỗi s và 1 con trỏ vào chuỗi t.

Lần lượt duyệt qua từng ký tự của chuỗi s và so sánh với ký tự của chuỗi t, nếu có tồn tại ký tự của chuỗi t trong s thì tiếp tục duyệt s đến khi hết chuỗi s hay t. Cuối cùng lấy độ dài chuỗi t trừ cho index duyệt t.

public class Solution {
public int AppendCharacters(string s, string t) {
int j = 0;
for(int i =0; i < s.Length; i++ ){

if(j == t.Length) break;

if(s[i] == t[j]) {
j++;
}

}
return t.Length - j;
}
}

Nhận xét

Bài đăng phổ biến từ blog này

[LeetCode - 0406 - 409] Longest Palindrome

A. Đề bài: https://leetcode.com/problems/longest-palindrome B. Giải public class Solution { public int LongestPalindrome(string s) { bool isOdd = false; int sum = 0; int[] ch = new int[128]; for (int i = 0; i < s.Length; i++) { ch[s[i]]++; } for(int i = 0; i < ch.Length; i++) { if(ch[i] % 2 == 0) { sum += ch[i]; } else { sum += ch[i] - 1; isOdd = true; } } return sum + (isOdd ? 1 : 0); } }