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

Bài đăng

[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); } }
Các bài đăng gần đây

[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; } }