Việc đầu tiên khi học Android bạn phải nắm được tổng quan về cấu trúc của một project android, nó gồm những thành phần nào, liên kết với nhau ra sao. Hãy thử tạo một Android Project bằng Android Studio và cùng tìm hiểu thông qua phần giải thích dưới đây. Let's go!
Activity là 1 Component đặc biệt trong Android, có thể nói 1 ứng dụng gần như luôn luôn tồn tại tối thiểu 1 Activity (trường hợp ngoại lệ với những ứng dụng chạy dưới dạng Service). Chắc hẳn khi làm quen với Android các bạn đều được tiếp xúc qua những ví dụ "Hello Word" dạng hiển thị 1 TextView trên 1 Single Activity thông qua hàm setContentView() được gọi trong Callback onCreate() của Activity.
Activity cung cấp cho chúng ta 6 callback onCreate(), onStart(), onResume(), onPause(), onStop(), và onDestroy(), Callback ở đây là các hàm sẽ được gọi trong toàn bộ vòng đời của Activity. Trong bài này chúng ta sẽ làm quen với việc tạo mới 1 project Android bằng Android Studio, cấu trúc thư mục trong Project, chạy máy ảo và run thử app
Cho 1 ma trận chứa 1 con robot và các vết bẩn, hãy tính số bước đi tối thiểu để con robot có thể lau hết tất cả các vết bẩn này. Giải thuật: Bài này chúng ta có 1 điểm bắt đầu và N điểm cần đi qua. - Không thể xác định điểm nào sẽ đi đầu tiên để số bước đi là lớn nhất vì vậy với N + 1 điểm. Hãy xây dựng ma trận N+1 x N+1. Với i và j thuộc N+1 điểm thì giá trị của ma trận [i][j] chính là đường đi ngắn nhất từ i đến j. - Việc tính toán đường đi ngắn nhất từ i đến j có thể thông qua thuật toán BFS. cụ thể ở đây ta sẽ tạo ra N+1 bảng BFS tương ứng với N+1 điểm này. Solution
A simple Floating Action Button that shows an anchored Navigation View Installation Include the library in your build.gradle
In your pom.xml if you are using Maven
Usage
Full Source download
Cho 28 quân bài domino được đánh nhãn (0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6), (1,1),(1,2),...,(5,5),(5,6),(6,6) và ma trận 8x8 chứa các số. Hãy tìm ra số lượng cách đặt các quân bài domino để phủ kín ma trận và các quân bài domino chỉ được sử dụng 1 lần. Giải thuật: - Mỗi quân bài domino có thể đặt theo chiều ngang và chiều dọc. - Dùng 1 ma trận để kiểm tra quân domino đó đã được dùng hay chưa. - Quân domino (x,y) luôn có x<=y vì vậy khi đặt quân domino hãy tìm ra giá trị min của 2 số đó. Cho 1 mê cung chứa kim cương. Hãy kiểm tra xem với số lượng cọc mà Jarmtin có thể vượt qua từ đầu bài, kiểm tra xem Jarmtin có thể lấy được kim cương và thoát ra khỏi mê cung được hay không. Đầu tiên Jarmtin sẽ đi từ cổng vào (@) và đi đến lấy kim cương (x) và đi qua các vị trí trống (.) hoặc các vị trí có cọc (s). Các vị trí tường Jarmtin k thể đi (#). Sau khi lấy được kim cương Jarmtin sẽ thoát ra khỏi mê cung đúng vị trí (@). Nếu số lượng cọc Jarmtin đi qua cả đi lẫn về k vượt quá j (j là số lượng cọc Jarmtin có thể đi qua) thì in ra SUCCESS, nếu không hãy in ra IMPOSSIBLE.
Giải thuật: - Tìm ra vị trí của lối vào, gọi hàm backtrack với chiều vào. - tại mỗi ô tọa độ x, y hãy thử 4 ô xung quanh xem có thể đi hay không? nếu là vị trí trống thì đi tiếp, nếu là vị trí cọc hãy tăng số lượng cọc lên 1. nếu vượt quá số cọc cho phép thì thoát khỏi hàm. - Sử dụng 2 mảng visited cho 2 chiều vào và ra, sau khi đến được ô kim cương (x) thì gọi hàm backtrack với chiều ra. - Nếu chiều ra gặp được ô (@) tức là cách đi thỏa mãn, sử dụng cờ để thoát khỏi đệ quy. Chú ý: Bài này giải cho trường hợp tổng quá cổng vào và cổng ra nằm ở 2 tọa độ khác nhau. Còn với yêu cầu của bài này lối vào và lối ra là 1 ta chỉ cần tìm đường đi từ @ đến x với số lượng cọc đi qua là ít nhất và nhân 2 lần cho cả đường đi và về là xong :D |
Thời Gian
December 2021
Chủ ĐỀ
All
|