- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi có một lớp Phân đoạn và một mảng các phân đoạn như thế này:
Phân đoạn lớp tĩnh riêng tư {
số int, kiểu;
Phân đoạn(số int, kiểu int) {
this.number = số;
this.type = loại;
}
}
Phân đoạn[] điểm = Phân đoạn mới[n];
điểm={(0,-1),(1,0),(5,1),(6,0),(6,-1),(10,1),(11,0)}
Phần tử bên trái là danh sách các điểm, danh sách bên phải là loại điểm: -1 mở một đoạn, 1 đóng một đoạn và 0 cắt đoạn đó. Như bạn có thể thấy, mảng này đã được sắp xếp theo số lượng, sử dụng mã này (đó là một lựa chọnSắp xếp phù hợp):
maxI tìm chỉ mục của phần tử "số" lớn nhất
riêng tĩnh int maxI(Phân đoạn [] phân đoạn, kích thước int){
int max=0;
cho (int i=0; i< size;i++){
if(segments[i].number > Segments[max].number ){
tối đa=i;
}
}
return max;
}
// Phương thức hoán đổi trao đổi các phần tử của mảng giữa chỉ mục 1 và chỉ mục 2
trao đổi khoảng trống tĩnh riêng tư (Phân đoạn [] phân đoạn, int chỉ mục1, int chỉ mục2) {
int temp1;
int temp2;
temp1 = đoạn[index1].số;
temp2 = phân đoạn[index1].type;
phân đoạn[index1].number=phân đoạn[index2].số;
phân đoạn[index1].type=phân đoạn[index2].type;
phân đoạn[index2].number=temp1;
phân đoạn[index2].type=temp2;
}
selectSort là phương thức sắp xếp (vì Arrays.sort không hoạt động với "phân đoạn")
khoảng trống tĩnh riêng tư selectSort(Segment[] Segment) {
int MaxPos;
for (int i=segments.length-1;i>0;i--){
MaxPos = maxI(đoạn, i+1);
trao đổi (phân đoạn, MaxPos, i);
}
}
Đầu vào ban đầu là 2 phạm vi và 3 điểm giao nhau:
Phạm vi 1: 0 5
Phạm vi 2: 6 10
Điểm giao nhau: 1 6 11
Vậy kết quả sắp xếp như sau:
(0,-1),(1,0),(5,1),(6,0),(6,-1),(10,1),(11,0)
Tôi đã thử sửa đổi phương thức maxI để 6,-1 xuất hiện trước 6,0 (-1 < 0) bằng câu lệnh if thứ hai:
if (phân đoạn[i].số = phân đoạn[max].số && phân đoạn[i].type > phân đoạn[max].type)
Nhưng nó sẽ làm rối đầu ra. Vì đầu vào là ngẫu nhiên nên mã phải được chuẩn bị để sắp xếp nhiều ca kiểm thử bằng nhau về mặt số lượng.
Câu hỏi gần nhất tôi từng thấy về chủ đề này là một cái được tạo bằng C++ , Tôi mới học Java nên tôi đang rất cố gắng để hiểu C++. Tôi cảm thấy như câu trả lời đã gần, nhưng không chắc mình đang thiếu gì. Có lẽ tôi đang sử dụng cấu trúc dữ liệu sai. Sau đó, tôi chỉ lặp lại mảng, cộng tổng của loại, vì vậy nếu một số đi qua 3 phạm vi mở (x, -1), thì nó là -3, ở mức tuyệt đối = 3 nên nó giao nhau với 3 phạm vi, đó là những gì tôi sẽ cần câu trả lời.
câu trả lời hay nhất
Chỉ cần tạo mộtBộ so sánh
để so sánhnumber
, rồi so sánhkiểu
, sau đó bạn có thể sử dụngMảng.sort()
.Nếu bạn có Java 8, bạn có thể thực hiện việc này:
Arrays.sort(điểm, Comparator.comparingInt((Segment s) -> s.number).thenComparingInt((Segment s) -> s.type));
Nếu bạn đang sử dụng Java 7, bạn có thể làm điều này:
Arrays.sort(point, new Comparator() {
@Ghi đè
public int so sánh(Đoạn s1, Đoạn s2) {
int result = Integer.compare(s1.number, s2.number);
nếu (kết quả == 0) {
result = Integer.compare(s1.type, s2.type);
}
return result;
}
});
Ngoài ra, bạn có thể có Phân đoạn
实现 Có thể so sánh
giao diện,Mảng.sort(điểm)
Sẽ hoạt động tốt:
Lớp tĩnh riêng tư Phân đoạn thực hiện Comparable {
số int, kiểu;
Phân đoạn(số int, kiểu int) {
this.number = số;
this.type = loại;
}
@Ghi đè
int công khai so sánhTo(Đoạn s) {
int result = Integer.compare(this.number, s.number);
nếu (kết quả == 0) {
result = Integer.compare(this.type, s.type);
}
return result;
}
}
Giới thiệu về java - Cách sắp xếp một mảng các phân đoạn (int left, int right) theo thứ tự tăng dần nhưng nếu left(i)=left(i+1) thì sắp xếp dựa trên right(i) và right(i+1), Chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/38135702/
IE dường như có dòng 2207 sau từ raphaeljs 1.4.7 không nén (tất nhiên là trong ngữ cảnh mã của tôi): gs.left != (t = left + "px") && (gs.left =
Đây có phải là thao tác $("#mydiv").position().left hay $("#mydiv").offset().left không? $("#mydiv").animate({"left:"-100"},
Câu hỏi này đã có câu trả lời ở đây: tại sao left+(right-left)/2 sẽ không tràn? (7 câu trả lời) Đã đóng 1 năm trước. Trong vòng lặp while tìm kiếm nhị phân: trái, r
Câu hỏi này đã có câu trả lời ở đây: tại sao left+(right-left)/2 sẽ không tràn? (7 câu trả lời) Đã đóng 1 năm trước. Trong vòng lặp while tìm kiếm nhị phân: trái, r
Tôi có một lớp Phân đoạn và một mảng các phân đoạn như thế này: Private static class Segment { int number, type Segment(in;
Tôi có một truy vấn thực hiện THAM GIA TRÁI trên một mục phụ. Truy vấn này được chạy trong môi trường tải cao và thực hiện theo yêu cầu đã đặt. Truy vấn (rất đơn giản) trông như thế này: SELECT table_A.pKey , table_A.uKey
Một số gợi ý hay mà tôi đã thấy trong SO để tạo các trang web đa ngôn ngữ bằng JavaScript bao gồm bài viết này về JavaScript quốc tế hóa
Tôi đã sử dụng nó trong nhiều năm, vì vậy đã đến lúc tìm hiểu tất cả về nó. Giả sử một truy vấn như sau: SELECT * FROM a LEFT JOIN b ON foo... LEFT JOIN c ON bar... document
Tôi đang cố thực hiện truy vấn MySql sau đối với hộp tìm kiếm. Tôi đang cố gắng trả về thông tin "album" (tiêu đề, v.v.) trong khi đưa hình thu nhỏ của hình ảnh đầu tiên vào album đó. Tuy nhiên, tôi phải tra cứu hai bảng để lấy thông tin hình ảnh. Đầu tiên, photos_albums được đưa vào album
Tôi có 2 bảng và tôi muốn LEFT JOIN và lọc kết quả trên bảng LEFT. Các bảng là: - bảng_sản phẩm, với các cột id và tên_sản phẩm - bảng_đặt_hàng, với các cột id, p
Tôi có hiểu Left Join phải làm gì không? Tôi có một câu hỏi. Gọi nó là Truy vấn A. Nó trả về 19 bản ghi. Tôi có một truy vấn khác, Truy vấn B. Nó trả về 1.400 bản ghi. Tôi chèn truy vấn B vào truy vấn A dưới dạng nối trái,
Tôi đang sử dụng left: auto; hy vọng ghi đè left: 0; nhưng nó không hoạt động (xem jsfiddle) - Tôi muốn căn giữa. HTML:
Tại sao điều này không hoạt động? Tôi đã chỉ định một loạt div với float:left và muốn đặt vị trí của phần tử đầu tiên, sau đó cập nhật vị trí của tất cả các phần tử anh chị em với nó. Ví dụ: tôi đặt css của phần tử đầu tiên thành left:50
Đây được cho là CSS rất cơ bản, nhưng dù tôi có cố gắng thế nào đi chăng nữa, div chết tiệt đó vẫn không đi đến nơi cần đến. Đây là HTML: Registe-se Nome:
Tôi có một div được lồng trong một div. Tôi đang cố gắng hiển thị một số văn bản và nó hoạt động. Tuy nhiên, điều tôi muốn là văn bản được căn giữa, tức là nó có bên trái: -50%. Nhưng nó không làm gì cả. Nhưng khi tôi làm điều gì đó như left: 20px
Tôi có một bảng chứa dữ liệu theo dõi. Trong số các giá trị khác, bảng có các cột Traffic_medium, Traffic_source và Traffic_campaign. Các cột này đôi khi có chứa (không có) hoặc null như
Mã tôi đang thử. Trên GHC phiên bản 6.10.4: data ParseState = ParseState { string :: String } phái sinh (Show) n
Tôi gặp sự cố khi sử dụng truy vấn SQL hiển thị trường hồ sơ tùy chỉnh và bất kỳ giá trị tương ứng nào (tùy chọn). Đây là truy vấn SQL tôi đang sử dụng: SELECT pf.`id`, pf.`name`, pv.`value` FRO
Tôi hiện đang tạo một vùng chứa chứa thanh bên và nội dung, nhưng khi tôi thêm nhiều văn bản vào thanh bên hơn vào vùng chứa, thanh bên thứ hai hơi nổi sang một bên. Đây là những mã tôi đang sử dụng. HTML:Xin vui lòng
Câu hỏi này đã có câu trả lời ở đây: Sự khác biệt giữa lề và phần đệm? (25 câu trả lời) Đã đóng 5 năm trước.
Tôi là một lập trình viên xuất sắc, rất giỏi!