#include <iostream>
using namespace std;
int findAppIndex(int* appList, int appListSize, int targetAppName) {
int left = 0;
int right = appListSize - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (appList[mid] == targetAppName) {
return mid;
} else if (appList[mid] < targetAppName) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int appList[] = {0, 4, 6, 9, 13};
int appListSize = sizeof(appList) / sizeof(appList[0]);
int targetAppName = 6;
int index = findAppIndex(appList, appListSize, targetAppName);
if (index != -1) {
cout << "目标应用编号 " << targetAppName << " 的下标为: " << index << endl;
} else {
cout << "目标应用编号 " << targetAppName << " 不存在" << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGZpbmRBcHBJbmRleChpbnQqIGFwcExpc3QsIGludCBhcHBMaXN0U2l6ZSwgaW50IHRhcmdldEFwcE5hbWUpIHsKICAgIGludCBsZWZ0ID0gMDsKICAgIGludCByaWdodCA9IGFwcExpc3RTaXplIC0gMTsKCiAgICB3aGlsZSAobGVmdCA8PSByaWdodCkgewogICAgICAgIGludCBtaWQgPSBsZWZ0ICsgKHJpZ2h0IC0gbGVmdCkgLyAyOwoKICAgICAgICBpZiAoYXBwTGlzdFttaWRdID09IHRhcmdldEFwcE5hbWUpIHsKICAgICAgICAgICAgcmV0dXJuIG1pZDsKICAgICAgICB9IGVsc2UgaWYgKGFwcExpc3RbbWlkXSA8IHRhcmdldEFwcE5hbWUpIHsKICAgICAgICAgICAgbGVmdCA9IG1pZCArIDE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmlnaHQgPSBtaWQgLSAxOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gLTE7Cn0KCmludCBtYWluKCkgewogICAgaW50IGFwcExpc3RbXSA9IHswLCA0LCA2LCA5LCAxM307CiAgICBpbnQgYXBwTGlzdFNpemUgPSBzaXplb2YoYXBwTGlzdCkgLyBzaXplb2YoYXBwTGlzdFswXSk7CiAgICBpbnQgdGFyZ2V0QXBwTmFtZSA9IDY7CgogICAgaW50IGluZGV4ID0gZmluZEFwcEluZGV4KGFwcExpc3QsIGFwcExpc3RTaXplLCB0YXJnZXRBcHBOYW1lKTsKCiAgICBpZiAoaW5kZXggIT0gLTEpIHsKICAgICAgICBjb3V0IDw8ICLnm67moIflupTnlKjnvJblj7cgIiA8PCB0YXJnZXRBcHBOYW1lIDw8ICIg55qE5LiL5qCH5Li6OiAiIDw8IGluZGV4IDw8IGVuZGw7CiAgICB9IGVsc2UgewogICAgICAgIGNvdXQgPDwgIuebruagh+W6lOeUqOe8luWPtyAiIDw8IHRhcmdldEFwcE5hbWUgPDwgIiDkuI3lrZjlnKgiIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=