刷新
Java中数组参考指南

1. 介绍 本文,我们深入探讨Java中一核心概念 - 数组。首先了解什么是数组,然后了解如何使用它们。总的来说,我们将介绍如何: 数组入门 读写数组元素 遍历数组 将数组转化为其对象,如List或Streams 数组的排序、搜索和合并 2. 什么是数组 首先,我们需要定义什么是数组?根据Java文 ...

java简单算法:删除有序数组中的重复项

问题 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 n ...

最大路径和问题(摘樱桃问题)

博主头像 最大路径和问题(摘樱桃问题) 作者:Grey 原文地址: 最大路径和问题(摘樱桃问题) 题目链接 LeetCode 741. 摘樱桃 主要思路 本题的难点在于尝试,如何模拟一来一回的情况,我们可以这样做,定义两个小人,两个人都从(0,0)位置出发,到右下角位置,每人同时选择不同的下一步,如果两个小人 ...

线段树学习笔记

博主头像 时隔多日,我终于又回来了! 这几天我学习几个高级数据结构,来和大家分享一下线段树。 线段树,名字好高级啊,是不是非常难学?我个人觉得吧,线段树只要明白原理,记熟模板,做题还是比较容易的。QwQ OK,我们切入正题。 NO.1 what is 线段树 看图理解一下(图片还是比较形象的) 简单线段树结构 ...

归并排序的简单理解

博主头像 归并排序与与快速排序一样,是采用分治法(Divide and Conquer)的一个非常典型的应用,在排序算法中,同时了解归并排序和快速排序,相互印证,能理解得更深。 ...

数据结构笔记汇总

博主头像 1. 逻辑结构:线性和非线性 线性: 线性(1:1)、栈、队、数组 非线性:树形(1:多)、图形(多:多) 存储结构:顺序(数组)、链式(指针) 2. 逻辑结构与元素相对位置无关 链式存储物理地址和逻辑地址不一定相同连续,所以它内存中可⽤存储单元的地址/数据结点地址:连续与否都可以 3. (解释)不 ...

Josephus问题(Ⅰ)

博主头像 题目描述 n个人排成一圈,按顺时针方向依次编号1,2,3…n。从编号为1的人开始顺时针"一二"报数,报到2的人退出圈子。这样不断循环下去,圈子里的人将不断减少。最终一定会剩下一个人。试问最后剩下的人的编号。 要求程序模拟题意来实现。 输入 不超过1000组数据。 每组数据一行,每行一个正整数,代表人 ...

leetcode 不同路径

初识动态规划,我对这个算法的理解是这样的: 1.找到初始值-原始解 2.在找到各种解与原始解的关系 3.通过循环得到答案 适用于动态规划的问题首先就是不同路径: 问题是给定一个M*N的地图从左上到右下角一共有多少种不同的方案(每次只能向右或者向下走一格)。 那么解决这个问题的关键在于你如何确定初始解 ...

java算法: 三角形的最大周长

问题: 给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、 面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。 解决: class Solution { public int largestPerimeter(int[] nums) { Arr ...

初等数论学习笔记 II:分解质因数

博主头像 初等数论学习笔记 I:同余相关。 1. Miller-Rabin Miller-Rabin 素性测试是常见的 随机性 素数判定方法。 这里的随机指有一定概率将合数判定为素数,但不会将素数判定为合数。 素数判定的基本思路是,根据所有质数均具有但很少合数具有的性质,检查被判定的数是否具有这些性质。若不具 ...

蓝桥杯2022 括号序列树 第十三届蓝桥杯 决赛 C++ A组 J题

博主头像 题面 有一棵二叉树,根结点上有一个空字符串,每个点的左儿子上的字符串为其父亲结点的字符串尾部额外加一个左括号,右儿子则是在尾部加一个右括号。树中的每个叶子结点上的字符串都分别和每个由 \(n\) 对括号组成的合法括号序列一一对应。 给定 \(n\),求此时这棵树的最大匹配所含的边数。(对 \(998 ...

123···22>