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

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

09局部最小问题.zip

后端 1.16KB 22 需要积分: 1
立即下载

资源介绍:

局部最小问题 对于一个数组,使用二分法的前提,一定是这个数组整体有序吗? 答:不是。局部最小问题就是反例。
package class01; /** * 局部最小问题 *

* 对于一个数组,使用二分法的前提,一定是这个数组整体有序吗? * 答:不是。局部最小问题就是反例。 */ public class Code07_BSAwesome { public static int getLessIndex(int[] arr) { if (arr == null || arr.length == 0) { return -1; } if (arr.length == 1 || arr[0] < arr[1]) { return 0; } if (arr[arr.length - 1] < arr[arr.length - 2]) { return arr.length - 1; } int L = 1; int R = arr.length - 2; while (L <= R) { int mid = L + ((R - L) >> 1); if (arr[mid] > arr[mid - 1]) { R = mid - 1; } else if (arr[mid] > arr[mid + 1]) { L = mid + 1; } else { return mid; } } System.out.println("==============================="); return L; } public static void main(String[] args) { int maxSize = 50; int maxValue = 30; int testTimes = 10000; boolean flag = true; for (int i = 0; i < testTimes; i++) { int[] arr1 = generateRandomArr2(maxSize, maxValue); int num = getLessIndex(arr1); if (!test(arr1, num)) { printArr(arr1); for (int index = 0; index < arr1.length; index++) { System.out.print(index + "\t"); } System.out.println(); System.out.println("num = " + num); flag = false; break; } } //至少打印一次 int[] arr1 = generateRandomArr2(maxSize, maxValue); printArr(arr1); for (int index = 0; index < arr1.length; index++) { System.out.print(index + "\t"); } System.out.println(); int num = getLessIndex(arr1); System.out.println("num = " + num); System.out.println(flag ? "nice!" : "oops!"); } 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[] generateRandomArr2(int maxSize, int maxValue) { int[] arr = new int[(int) (Math.random() * maxSize) + 1]; arr[0] = (int) (Math.random() * maxValue) - (int) (Math.random() * maxValue); for (int i = 1; i < arr.length; i++) { do { arr[i] = (int) (Math.random() * maxValue) - (int) (Math.random() * maxValue); } while (arr[i] == arr[i - 1]); } return arr; } //用于测试,num位置的数,是不是局部最小。 public static boolean test(int[] arr, int num) { if (arr.length <= 1) { return true; } if (num == 0) { return arr[0] < arr[1]; } if (num == arr.length - 1) { return arr[num] < arr[num - 1]; } return (arr[num] < arr[num - 1] && arr[num] < arr[num + 1]); } }

资源文件列表:

09局部最小问题.zip 大约有1个文件
  1. 09局部最小问题.txt 3.51KB
0评论
提交 加载更多评论
其他资源 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种语言的文本到语音转换 - 自动检测原文语言 - 支持回译功能 - 快捷键自定义 - 支持多种翻译工具的个性化设置 - 用户界面多语言本地化 支持的语言包括但不限于:阿尔巴尼亚语、阿拉伯语、阿塞拜疆语、爱尔兰语、爱沙尼亚语、巴斯克语、白俄罗斯语、保加利亚语、冰岛语、波兰语、波斯尼亚语、波斯语、南非荷兰语、丹麦语、德语、俄语、法语、菲律宾语、芬兰语、高棉语、格鲁吉亚语、古吉拉特语、哈萨克语、海地克里奥尔语、韩语、豪萨语、荷兰语、加利西亚语、加泰罗尼亚语、捷克语、卡纳达语、克罗地亚语、拉丁语、拉脱维亚语、老挝语、立陶宛语、罗马尼亚语、马尔加什语、马耳他语、马拉地
【浏览器插件】ColorZilla.zip
ColorZilla,一款广受好评的浏览器插件,以其用户友好、功能全面、安全可靠而著称。作为Chrome和Firefox开发者扩展中的佼佼者,ColorZilla全球下载量已突破1000万次。它允许用户在浏览器的任何位置获取颜色值,快速调整颜色,并将其复制到其他程序中。ColorZilla不仅具备基本的取色功能,还拥有高级颜色选择器、CSS渐变生成器、网页颜色分析器等多种实用工具。 **功能亮点:** - 取色器:精准捕捉页面上任意像素的颜色。 - 高级颜色选择器:提供类似Photoshop的调色体验。 - 终极CSS渐变生成器:轻松创建复杂的渐变效果。 - 网页颜色分析器:一键获取任何网站的配色方案。 - 调色板查看器:内置7种预设调色板,方便颜色搭配。 - 颜色历史:记录最近选择的颜色,方便回顾。 - 多种采样大小:1x1、3x3、5x5、11x11、25x25像素,适应不同需求。 - 元素信息展示:显示元素的标签名、类、ID、尺寸等信息。 - 自动复制颜色:一键复制选中颜色到剪贴板。 - 键盘快捷键:提高操作效率。 - 色调/饱和度/值操作:直观调整颜色属性。 - 动态悬停元素
08在arr上,返回小于等于targetNum的最右的位置.zip
在arr上,返回小于等于targetNum的最右的位置。 如果没有则返回-1。
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用的)祝您使用愉快