栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

3.24总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3.24总结

一、每日一题

88. 合并两个有序数组 - 力扣(LeetCode) (leetcode-cn.com)

思路

主要就是利用两个分别指向两个数组的尾部的变量来指定位置,以及一个变量来指定合并好的数组的元素的位置,依次进行大小比较,将较大的元素放进合并好的数组的尾部。其他更细节的地方在代码里面的注释进行了详细的标注。最开始的思路是从头开始遍历两个数组,然后遇到num2比num1数组小的元素就插入,然后num1后面的元素往后移,如果num2中有剩余,那再将num2中剩余的元素放到已经合并好的元素的后面,这样的话还是有些漏洞,只过了一部分样例。

代码

class Solution {
public:
    void merge(vector& nums1, int m, vector& nums2, int n) {
        int i=m-1,j=n-1;//从尾部开始排起
        for(int k=m+n-1;;k--)//从计划已经放好所有元素的数组的尾部开始存放元素,减少了元素的移动带来的麻烦
        {
            if(i>=0&&j>=0)//当nums1和nums2数组里面都还有元素时
            {
                if(nums1[i]>=nums2[j])//大的放到后面
                {
                    nums1[k]=nums1[i];
                    i--;
                }
                else
                {
                    nums1[k]=nums2[j];
                    j--;
                }
            }
            else//当有一个数组的元素已经全部进入新的数组时,就跳出循环
            {
                break;
            }
        }
        while(j>=0)//如果有剩余的元素的话,那一定是nums2的,因为本来就是要把所有元素全部放到nums1,如果是nums1有剩余元素,它就已经排好在nums1数组里了,然后把剩余的元素放进nums1数组
        {
            nums1[j]=nums2[j];
            j--;
        }
    }
};

过题记录

 二、Java学习

•一维数组以及二维数组的初始化以及遍历

public class TwoDimension//一维数组以及二维数组
{
	public static void main(String[] args)
	{
		int c[ ]=new int[3];
		for(int i=0;i<3;i++)
		{
			c[i]=i;
		}
		for(int i=0;i<3;i++)
			System.out.println(c[i]+" ");
		int [ ][ ]a1={{1,2},{3,4},{5,6,7}};
		for(int i=0;i

 •Java中的各种函数

1.排序函数

    int[] intArray = new int[] { 4, 1, 3, -23 };
    Arrays.sort(intArray);
    //输出: [-23, 1, 3, 4]

2.比较数组元素是否相等

	int[] arr1 = {1,2,3};
	int[] arr2 = {1,2,3};
	System.out.println(Arrays.equals(arr1,arr2));
	//输出:true
	//如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。

3.查找指定元素在数组中的位置(数组必须要按升序排列)

	int []arr = {10,20,30,40,50};
	System.out.println(Arrays.binarySearch(arr, 0,3,30));
	//输出:2 (从0到3位(不包括)找30,找到了,在第2位,返回2)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号