Live2D
摘要: 今天遇到了需要排序的题目,我们已知的就是用已有的算法进行排序,也就是使用Arrays.sort(nums[]),这个算法本质是快排,在算法比赛的时候可以使用,但是如果需要手撕代码就不可以了,所以我们需要积累常见的数组排序方法。 一、冒泡排序(改进版) 基本思想: 冒泡排序(Bubble Sort)是 阅读全文
posted @ 2023-05-02 22:33 江洋国际 阅读(153) 评论(0) 推荐(0)
摘要: 这篇内容主要是针对双指针的一些总结,方法比较巧妙,主要核心原理就是:有一个快指针fast、一个慢指针slow,slow指针主要作用就是存储真正的数组(也就是处理之后的结果),fast是辅助寻找元素,然后往slow里面放。 典型例题: 描述: 给你一个数组 nums 和一个值 val,你需要 原地 移 阅读全文
posted @ 2023-04-29 09:22 江洋国际 阅读(36) 评论(0) 推荐(0)
摘要: 数组的存储方式:数组是存放在连续内存空间上的相同类型数据的集合。 数组下标都是从0开始的。 数组内存空间的地址是连续的。 因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。 数组的元素是不能删的,只能覆盖。 像Java是没有指针的,同时也不对程序员暴露 阅读全文
posted @ 2023-04-24 09:23 江洋国际 阅读(27) 评论(0) 推荐(0)
摘要: 首先,二分法有前提条件:数组是从小到大排列、数组中没有重复元素。 一般题目会要求:时间复杂度为 O(log n),这个时候就不能用暴力破解了(因为暴力算法是 O(n))。 他的原理比较简单: 1、定义好数组两边的元素序号后,去循环寻找中间那个元素,同时与要找的元素对比。 2、如果中间元素比较大,则寻 阅读全文
posted @ 2022-11-02 09:12 江洋国际 阅读(201) 评论(0) 推荐(0)