數的範圍
題目鏈接
#include <iostream> using namespace std; const int N = 1e6+10; int arr[N]; int main() { int n, q; scanf("%d %d", &n, &q); for(int i=0; i<n; i++) scanf("%d", &arr[i]); while(q--) { int x; scanf("%d", &x); int l=0, r=n-1; while(l < r) { int mid = (l+r)>>1; if(arr[mid] >= x) r = mid; else l = mid+1; } if(arr[l] != x) cout<<"-1 -1"<<endl; else{ cout<<l<<" "; l=0, r=n-1; while(l < r) { int mid = (l+r+1)>>1; if(arr[mid] <= x) l = mid; else r = mid-1; } cout<<l<<endl; } } return 0; }
浮點數二分
#include <iostream> using namespace std; int main() { double n; cin>>n; double l = -10000, r = 10000; while(r-l > 1e-8) { double mid = (l+r)/2; if(mid*mid*mid >= n) r = mid; else l = mid; } printf("%lf", l); return 0; }
1. 圖的環檢測 無向圖有環: 當前點的鄰接節點已經被訪問過 被訪問過的鄰接節點不是當前節點的上個訪問 import java.util.ArrayList; import java.util.Collections;
1. 樹的廣度優先遍歷與圖的廣度優先遍歷對比 時間複雜度:O(V+E) import java.util.ArrayList; import java.util.LinkedList; import java.util.Que
1. 樹的深度優先遍歷與圖的深度優先遍歷對比 2. 代碼實現(遞歸版) import java.util.ArrayList; public class GraphDFS { private Graph G;