Java+AI<AI的使用与Java的基础学习-数组>
今天也是学到了数组阶段首先我先回想了之前学到的c里的数组。C语言数组数组本身是连续内存块非对象无内置方法。静态数组必须在编译时指定大小C99变长数组VLA例外int arr[10];和Java不同Java动态创建大小在运行时确定int[] arr new int[10];C语言用sizeof(arr)/sizeof(arr[0])但仅在数组作用域内有效传参后退化为指针丢失长度信息而Java直接通过arr.length属性非方法获取始终准确。C语言不做检查越界访问不报错导致未定义行为Java严格检查越界抛出这个在学习的时候感觉尤为明显对比Cint arr[5] {1,2,3,4,5};int len sizeof(arr)/sizeof(arr[0]); // 5int *p arr;p; // 指向第二个元素printf(%d, arr[5]); // 未定义行为可能输出垃圾或崩溃Javaint[] arr {1,2,3,4,5};int len arr.length; // 5// arr; // 编译错误无指针运算System.out.println(arr[5]); // 抛出ArrayIndexOutOfBoundsExceptionJava在定义时为数据类型[] 数组名 new 数据类型[]{元素1元素2元素3元素4...};简化格式数据类型[] 数组名 {元素1元素2元素3元素4...};Java在访问时基本和c一致都是数组名[索引];在大量学习了Java的数组时我顺手做了很多练习经过基础的练习我学会了数组的大部分知识我接着做了几道比较难的题/*给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那两个 整数并输出它们的数组索引。 提示先不用考虑效率问题两层循环即可完成 要求1只要输出第一对满足要求的情况 要求2输出所有满足要求的情况*///给你两个有序数组 arr1 和 arr2 //将两个数组中的数据合并到一个大数组中 //要求合并之后的大数组也是有序的给定一个递增的有序数组和一个目标值在数组中找到目标值打印其索引。如果目标值不存在于数组中打印应插入的位置我的代码我是通过线性查找的方式逐个去查找ai教给我的ai使用二分查找比我的效率更高在相同条件有ai的帮助那个效率高使用哪个它的代码让我对题目有了新的理解。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2589929.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!