thảo luận Leetcode mỗi ngày

  • Người tạo chủ đề Người tạo chủ đề _Gia_Cat_Luong_
  • Ngày bắt đầu Ngày bắt đầu
Trạng thái
Không mở để trả lời thêm.
phó GOAT mà, idolo :ah: :rap:
Thì ra chỉ là phó GOAT, quote đức khỏi chạy :doubt:
Java:
class Solution {
    public int minChanges(String s) {
        int ans = 0;
        for (int i = 0; i <= s.length() - 2; i += 2) {
            for (int j = i; j <= i + 1; j++) {
                if (s.charAt(i) != s.charAt(j)) ans++;
            }
        }
        return ans;
    }
}
Code lởm
zFNuZTA.png
 
Java:
    public int minChanges(String s) {
        int n = s.length();
        int count = 0;
        for(int i = 1; i < n; i+=2) {
            if(s.charAt(i) != s.charAt(i-1)) {
                count++;
            }
        }
        return count;
    }
 
Java:
class Solution {
    public int minChanges(String s) {
        int n = s.length();
        char last = s.charAt(0);
        int cnt =1;
        int res =0;
        for(int i =1 ; i < n ; i++){
            if(s.charAt(i)==last){
                cnt++;
            }
            else{
                last = s.charAt(i);
                if(cnt%2==1){
                    res++;
                    cnt=2;
                }
                else cnt =1;
            }
        }
        return res;
    }
}
sao nhìn code mấy bác gọn quá v
YhCyC2n.png
 
C-like:
impl Solution {
    pub fn min_changes(s: String) -> i32 {
        let s = s.as_bytes();
        let mut res = 0;

        for i in (1..s.len()).step_by(2) {
            res += (s[i] != s[i - 1]) as i32;
        }

        res
    }
}
 
Swift:
class Solution {
    func minChanges(_ s: String) -> Int {
        var checkPoint = false
        var pre:Character!
        var result = 0
        for char in s {
            if checkPoint {
                //if pre != char { result += 1 }
                result += pre != char ? 1 : 0
            } else {
                pre = char
            }
            checkPoint.toggle()
        }
        return result
    }
}
 
C++:
class Solution {
public:
    int minChanges(string s) {
        int one = 0, zero = 0, cnt = 0, ans = 0;
        for (int i = 0; i < s.size(); i++) {
            if (cnt < 2) cnt++;
            else {
                cnt = 1;
                ans += min(one, zero);
                one = 0, zero = 0;
            }
            if (s[i] == '0') zero++;
            else one++;
        }
        return ans + min(one, zero);
    }
};
 
Mã:
func minChanges(s string) int {
    count := 0
    for i := 1; i < len(s); i += 2 {
        if s[i] != s[i-1] {
            count++
        }
    }
    return count
}
 
LC 2490 Java 1liner
Java:
class Solution {
  public boolean isCircularSentence(String s) {
    return s.charAt(0)==s.charAt(s.length()-1) && s.matches("\\S+|.*((\\S) \\2.)+\\S+") && !s.matches(".*[ap] [bg].*");
  }
}
LC 2914 Java liner
Java:
class Solution {
  public int minChanges(String s) {
    return (int) IntStream.range(0, s.length()/2).map(i -> i*2).filter(i -> s.charAt(i) != s.charAt(i+1)).count();
  }
}
 
Java:
class Solution {
    public int minChanges(String s) {
        StringBuilder sb = new StringBuilder(s);
        int change = 0;
        int lengthCount = 1;
        char pre = sb.charAt(0);
        for(int i = 1;i<sb.length();i++){
           if(sb.charAt(i) == pre) lengthCount++;
           if(sb.charAt(i) != pre){
                if(lengthCount % 2 != 0){
                    change++;
                    sb.setCharAt(i, sb.charAt(i) == '1' ? '0' : '1');
                    lengthCount++;
                }else{
                    lengthCount = 1;
                    pre = sb.charAt(i);
                }
           }
        }

        return change;
    }
}
 
PHP:
<?php
class Solution
{

    /**
     * @param String $s
     * @return Integer
     */
    function minChanges($s)
    {
        $length = strlen($s);

        $step = 0;
        $i = 1;
        $currentLength = 1;
        $currentChar = $s[0];
        for ($i = 1; $i < $length; $i++) {
            echo "$s[$i] - $currentChar - $currentLength".PHP_EOL;
            if ($s[$i] == $currentChar) {
                $currentLength++;
                continue;
            }
            if (($currentLength + 1) % 2 == 0) {
                $step++;
                $currentLength++;
            } else {
                $currentChar = $s[$i];
                $currentLength = 1;
            }
        }
        return $step;
    }
}
 
medium giả cầy, cumback được 2 hôm thì dính 2 bài giả cầy
C#:
public class Solution {
    public int MinChanges(string s) {
        var n = s.Length;
        var res = 0;
        for(int i=0; i<n/2; i++){
            res += s[2*i] == s[2*i+1] ? 0 : 1;
        }
        return res;
    }
}
 
thx, em ko phải clone. (Hình như hồi voz cũ em cũng có nick, nhưng rất ít post bài.)

Edited: thấy bài easy nên làm cho chạy được thôi bác, vẫn đang học cách optimize từ nhiều bác trong này.
LC 3163 Java liner
Java:
class Solution {
  public static String compressedString(String s) {
    return java.util.regex.Pattern.compile("(.)\\1{0,8}").matcher(s).replaceAll(m -> m.group().length() + "$1");
  }
}
 
Sửa lần cuối:
Trạng thái
Không mở để trả lời thêm.

Thống kê chủ đề

Ngày tạo
_Gia_Cat_Luong_,
Người trả lời cuối
Vipluckystar,
Trả lời
17.755
Lượt xem
1.214.144
Quay lại
Lên đầu trang