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.
Python:
class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        return n != 0 and n & (n-1) == 0
 
Java:
class Solution {
    public boolean isPowerOfTwo(int n) {
        return n > 0 && (n & n - 1) == 0;
    }
}
 
Cuối tuần burnout, chây ỳ hết người không làm LC =((
Mã:
class Solution {
    public boolean isPowerOfTwo(int n) {
        if(n < 1) return false;
        return ((n&(n-1)) == 0);
    }
}
 
Mã:
impl Solution {
    pub fn is_power_of_two(n: i32) -> bool {
        n>0 && ((n << 1)-1 == (n-1)|n)
    }
}
 
Java:
class Solution {
    public static boolean isPowerOfTwo(int n) {
        if (n <= 0) {
            return false;
        }
        return (n & (n - 1)) == 0;
    }
}
 
cmn tốn 70 coin để giữ streak :( bài dài vkl
C#:
public class Solution
{
    public int MostBooked(int n, int[][] meetings)
    {
        Array.Sort(meetings, MeetingCompare);

        // roomId
        PriorityQueue<Room, int> availables = new();
        // endTime & id
        PriorityQueue<Room, Room> usings = new(new RoomComparer());
        for (int i = 0; i < n; i++)
        {
            Room room = new();
            room.id = i;
            availables.Enqueue(room, i);
        }

        int result = int.MaxValue;
        int mostUsed = 0;
        for (int i = 0; i < meetings.Length; i++)
        {       
            while (usings.Count > 0 && usings.Peek().end <= meetings[i][0])
            {
                Room room = usings.Dequeue();
                availables.Enqueue(room, room.id);
            }
            
            Retry:{}
            int used = TryUseRoom(availables, usings, meetings[i], out int roomId);
            if (roomId == -1)
            {
                Room delayRoom = usings.Dequeue();
                availables.Enqueue(delayRoom, delayRoom.id);
                goto Retry;
            }
            
            if (mostUsed < used)
            {
                mostUsed = used;
                result = roomId;
                continue;
            }
            if (mostUsed == used)
            {
                result = Math.Min(result, roomId);
            }
        }

        return result;
    }
    
    private int TryUseRoom(PriorityQueue<Room, int> availables, PriorityQueue<Room, Room> usings, int[] meeting, out int roomId)
    {
        roomId = -1;
        if (availables.Count == 0)
        {
            return -1;
        }
        Room room = availables.Dequeue();
        room.end = Math.Max(room.end, meeting[0]) + meeting[1] - meeting[0];
        room.used++;
        roomId = room.id;
        usings.Enqueue(room, room);
        
        return room.used;
    }

    private int MeetingCompare(int[] a, int[] b)
    {
        return a[0] - b[0];
    }

    public class Room
    {
        public int id;
        public int end;
        public int used;     
    }
    
    public class RoomComparer : IComparer<Room>
    {
        public int Compare(Room a, Room b)
        {
            int diff = a.end - b.end;
            if (diff == 0)
            {
                return a.id - b.id;
            }
            return diff;
        }
    }
}

C#:
public class Solution
{
    public bool IsPowerOfTwo(int n)
    {
        if (n == 0)
        {
            return false;
        }
        int oneBit = 0;
        while (n > 0)
        {
            if (oneBit > 1)
            {
                return false;
            }
            oneBit += n % 2 == 1 ? 1 : 0;
            n >>= 1;
        }

        return oneBit == 1;
    }
}
 
C++:
return  n > 0 && (n & (n - 1)) == 0;
 
Sửa lần cuối:
Java:
class Solution {
    public boolean isPowerOfTwo(int n) {
        if (n <= 0){
            return false;
        }
        if (0 < n && n < 3){
            return true;
        }
        int s = 0;
        while (n > 1){
            
            s += n % 2;
            n = n/2;
        }
        if (s > 0){
            return false;
        }
        return true;
    }
}
 
C++:
class Solution {
public:
    bool isPowerOfTwo(int n) {
        if (n <= 0) return false;
        return (1 << (int)(log(n)/log(2)) == n);
    }
};
 
Xịt pẹ cái bài này, viết solution dài ngoẵng, đặt 8-9 biến, đến lúc vào solutions muốn đập bàn phím vãi :rap: :go:
Bài này cái trò transpose rồi reverse nhảm vl, chạy vòng ngoài rồi rotate, xong rồi chạy vô vòng trong rotate là ok, viết code hơi tricky tí nhưng mà là cách intuitive nhất rồi. Ko hiểu tụi nó test cái gì

via theNEXTvoz for iPhone
 
Thôi giải toán cho nhanh, định ngồi swap mà ko được.
Python:
class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        sum = 0
        n = len(nums)
        for num in nums:
            sum += num

        return n*(n + 1)//2 - sum
Python:
class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        total = len(nums)
        for i, num in enumerate(nums):
            total += i - num
        return total
 
Sửa lần cuối:
Bài này cái trò transpose rồi reverse nhảm vl, chạy vòng ngoài rồi rotate, xong rồi chạy vô vòng trong rotate là ok, viết code hơi tricky tí nhưng mà là cách intuitive nhất rồi. Ko hiểu tụi nó test cái gì

via theNEXTvoz for iPhone
Bài này anh em cố gắng nên hiểu cái cách xoay ma trận theo group 4, vì có mấy bài nó yêu cầu xoay 180, 270 dùng cách transpose + reverse thì phải xoay nhiều lần hơn cái group 4
 
C#:
public class Solution
{
    public int MissingNumber(int[] nums)
    {
        int n = nums.Length;
        int expected = n * (n + 1) / 2;
        int actual = 0;
        for (int i = 0; i < nums.Length; i++)
        {
            actual += nums[i];
        }
        return expected - actual;
    }
}
 
Bài hôm nay làm rồi nên submit tiếp là xong
yGF9izR.png

Java:
public int missingNumber(int[] nums) {
    boolean[] mark = new boolean[nums.length + 1];
    for (int v : nums) {
        mark[v] = true;
    }
    for (int i = 0; i < mark.length; i++) {
        if (!mark[i]) {
            return i;
        }
    }
    return 0;
}
 
Python:
class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        n = len(nums)
        result = n

        for i in range(n):
            result ^= (i ^ nums[i])
        
        return result
 
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.212.736
Quay lại
Lên đầu trang