首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

08在arr上,返回小于等于targetNum的最右的位置.zip

后端 1.11KB 21 需要积分: 1
立即下载

资源介绍:

在arr上,返回小于等于targetNum的最右的位置。 如果没有则返回-1。
package class01; import java.util.Arrays; /** * 在arr上,返回小于等于targetNum的最右的位置。 * 如果没有则返回-1。 */ public class Code06_BSNearRight { public static int nearestIndex(int[] arr, int targetNum) { int L = 0; int R = arr.length - 1; int temp = -1; while (L <= R) { int mid = L + ((R - L) >> 1); if (arr[mid] <= targetNum) { temp = mid; L = mid + 1; } else { R = mid - 1; } } return temp; } public static int[] generateRandomArr(int maxSize, int maxValue) { int[] arr = new int[(int) (Math.random() * maxSize)]; for (int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random() * maxValue) - (int) (Math.random() * maxValue); } return arr; } public static void printArr(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\t"); } System.out.println(); } public static int test(int[] arr, int targetNum) { for (int i = arr.length - 1; i >= 0; i--) { if (arr[i] <= targetNum) { return i; } } return -1; } public static int[] copyArr(int[] arr1) { int[] arr2 = new int[arr1.length]; for (int i = 0; i < arr1.length; i++) { arr2[i] = arr1[i]; } return arr2; } public static void main(String[] args) { int testTimes = 1000000; int maxSize = 100; int maxValue = 100; boolean flag = true; for (int i = 0; i < testTimes; i++) { int[] arr1 = generateRandomArr(maxSize, maxValue); int[] arr2 = copyArr(arr1); Arrays.sort(arr2); int targetNum = (int) (Math.random() * maxValue); int resultNum = nearestIndex(arr2, targetNum); int testNum = test(arr2, targetNum); if (resultNum != testNum) { System.out.println("oops!"); flag = isFlag(arr1, arr2, targetNum, resultNum, testNum); } } int targetNum = (int) (Math.random() * maxValue); int[] arr1 = generateRandomArr(maxSize, maxValue); int[] arr2 = copyArr(arr1); Arrays.sort(arr2); int resultNum = nearestIndex(arr2, targetNum); int testNum = test(arr2, targetNum); boolean flag1 = isFlag(arr1, arr2, targetNum, resultNum, testNum); System.out.println(flag ? "nice!" : "oops!"); } private static boolean isFlag(int[] arr1, int[] arr2, int targetNum, int resultNum, int testNum) { System.out.println("============================================================"); System.out.print("原来的数组:"); printArr(arr1); System.out.print("升序后数组:"); printArr(arr2); System.out.print("数组的索引:"); for (int i = 0; i < arr1.length; i++) {//索引 System.out.print(i + "\t"); } System.out.println(); System.out.println("targetNum = " + targetNum); System.out.println("resultNum = " + resultNum); System.out.println("testNum = " + testNum); System.out.println("============================================================"); return false; } }

资源文件列表:

08在arr上,返回小于等于targetNum的最右的位置。.zip 大约有1个文件
  1. 08在arr上,返回小于等于targetNum的最右的位置。.txt 3.44KB
0评论
提交 加载更多评论
其他资源 09局部最小问题.zip
局部最小问题 对于一个数组,使用二分法的前提,一定是这个数组整体有序吗? 答:不是。局部最小问题就是反例。
Simulink校长的某一期用的代码
根据校长学习视频敲的,因为B站视频下面评论放不了这么多字符,传这里了。一起向校长学习 分为3个M文件: Link_and_Delete.m delete_pair_blocks.m delete_pair_bl.m 持续学习,未来有你。 视频网址https://www.bilibili.com/video/BV1HA411h7Zn?p=20&vd_source=bfeef05ac3fceabb6b8020f00d6d7c54
mybatis+0809
mybatis+0809
【浏览器插件】ImTranslator 翻译 字典 声音.zip
ImTranslator浏览器插件提供多样化的翻译服务,包括文本、单词、短语和网页翻译。它支持10种语言的朗读功能。主要应用包括: - 嵌入式翻译:快捷键Alt+C - 窗口内翻译:快捷键Alt+Z - 弹出式翻译:快捷键Alt - 网页翻译:快捷键Alt+P - 字典查询 ImTranslator的功能亮点: - 支持91种语言互译 - 单次翻译可达5000字符 - 翻译历史记录 - 网页全文翻译,含鼠标悬停翻译功能 - 30种语言的文本到语音转换 - 自动检测原文语言 - 支持回译功能 - 快捷键自定义 - 支持多种翻译工具的个性化设置 - 用户界面多语言本地化 支持的语言包括但不限于:阿尔巴尼亚语、阿拉伯语、阿塞拜疆语、爱尔兰语、爱沙尼亚语、巴斯克语、白俄罗斯语、保加利亚语、冰岛语、波兰语、波斯尼亚语、波斯语、南非荷兰语、丹麦语、德语、俄语、法语、菲律宾语、芬兰语、高棉语、格鲁吉亚语、古吉拉特语、哈萨克语、海地克里奥尔语、韩语、豪萨语、荷兰语、加利西亚语、加泰罗尼亚语、捷克语、卡纳达语、克罗地亚语、拉丁语、拉脱维亚语、老挝语、立陶宛语、罗马尼亚语、马尔加什语、马耳他语、马拉地
element-dev 源码
element-dev github 仓库源代码
vueuse-main 源码
vueuse main 源码
vueuse-main 源码 vueuse-main 源码 vueuse-main 源码
sublime text4(C++14) (作者设置了一些基本插件)
此版本主要适用于OI、Acm等算法竞赛如果想打开代码提示功能请找到首选项,点击后找到设置将 "auto_complete": false,这行的false改成true或直接删除。运行代码请按F5在左侧弹出的框内输入样例,如果输出正确请按accpet保存,测试下一组请按nest text重复此流程直到测试完毕,测完后按Ctrl+K+P关闭,如果出现collect2.exe: error: ld returned 1 exit status请打开任务管理器将【你的cpp文件名】.cpp 和 crash_handler.exe 结束进程(作者内置了俩板子这个功能要开启代码提示功能使用,第一个输入codehead+回车就可出现,第二个输入cfhead+回车即可出现,第二个是打cf用的)祝您使用愉快
2024年秋季高一英语入学分班考试模拟卷.zip
2024年秋季高一英语入学分班考试模拟卷.zip