Hỏi về từ khóa auto trong c++

Trong vòng for thứ nhất thì kiểu dữ kiệu của i là gì ạ???

class Solution {
public:
    int oddCells(int n, int m, vector<vector<int>>& indices) {
        int oddcount = 0;
        vector<int> row(n, 0);
        vector<int> col(m, 0);
        // keep a count of row and col increment
        for(auto i : indices){
            row[i[0]]++;
            col[i[1]]++;
        }
        for(int i = 0; i < n; i++){
            for(int j = 0; j < m; j++){
                // bit condition to check for odd number
                if((row[i] + col[j]) & 1)
                    oddcount++;
            }
        }
        return oddcount;
    }
};
1 Like

nó là vector<int> nhé
hình như kiểu của nó xác định tại runtime hay compile-time nhỉ :thinking: ?

6 Likes

cảm ơn bạn nhá, mk chưa dùng auto bao giờ nên ko rõ lắm

1 Like

tiện cho mk hỏi luôn là cái if((row[i] + col[j]) & 1) ý là như thế nào vậy, mk ko hiểu câu lệnh này??? thanks bn trước

& 1 là lấy bit bên phải ngoài cùng
và nếu bạn chưa biết thì số lẻ trong mã nhị phân có bit đó = 1
if(1) tương đương if(true)

sao nhìn cái format code này giống trên leetcode thế nhỉ :thinking:

Edit #1: đúng, bài này trên leetcode thật

6 Likes

đúng rồi đó bạn bài này trên leetcode, cảm ơn bn nhá

1 Like

compile-time bạn ơi.
Khi khai báo là auto thì VS vẫn có thể show ra kiểu của biến đó lúc compile-time

6 Likes

ơ mn cho e hỏi giờ mình học những cái này thì khi đi làm, lúc làm thì lập trinh cái gì ạ? sợ trên trường lập trình oke các thứ r đi làm …@@

K sao đâu, cái gì chẳng có khởi đầu. Lúc học có thể tự làm một vài project vui vui để mở rộng kiến thức ra cũng được.

4 Likes

Bài này đếm số số lẻ là O(m+n) :slight_smile:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?