首页 > TAG信息列表 > aRR

Java-快速排序算法-单指针和双指针

快速排序算法——Java 经典代码,数组指针推进一直与第一个元素比较大小,进行移位 不稳定算法  单指针快速排序 public class Main { public static void main(String[] args) { int[] arr = { 10, 3, 5, 4, 2, 11, 5 }; quickSort(arr, 0, arr.length - 1); System.out.pri

累加和为 K 的最长子数组问题

累加和为 K 的最长子数组问题 作者:Grey 原文地址: 博客园:累加和为 K 的最长子数组问题 CSDN:累加和为 K 的最长子数组问题 题目描述 给定一个整数组成的无序数组 arr,值可能正、可能负、可能0,给定一个整数值 K,找到 arr 的所有子数组里,哪个子数组的累加和等于 K,并且是长度最大的,返回

数据结构和算法_001_选择排序

代码 /* 选择排序法: 把一个数组中,最小的元素取出来 剩下的,再把最小的元素取出来 剩下的,再把最小的元素取出来 ... 【注意】每次选择:还未经过处理的元素里最小的元素 */ public static Integer[] selectionSort_1(Integer[] arr) { // 原地排序 for (int i = 0; i <

(*p)++和*(p++)和*p++的区别

(*p)++和*(p++)和*p++的区别     前缀递增递减和*优先级相同,从右到左; 后缀递增递减比前缀优先级高,从左到右。 比如: 1 2 int arr[5] = { 1,3,5,7,9 }; int *p = arr;       *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该

java之二维数组

二维数组 1.二维数组的定义方式: (1)int[][]arr=new int[值][值]; (2)int[][]arr={{值,值},{值,值,值}} (3)int[][]arr=new int[][]{{值,值},{值,值}} (4)int[][]arr=new int[值][];-->比较特殊 2.二维数组的遍历 for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j

LeetCode 1588 Sum of All Odd Length Subarrays 前缀和

Given an array of positive integers arr, return the sum of all possible odd-length subarrays of arr. A subarray is a contiguous subsequence of the array. Solution 求所有奇数长度子序列的和。所以维护一个前缀和以后,我们只需要遍历间隔即可 点击查看代码 class Solut

js 遍历数组性能对比

js常用的遍历数组的方式有三种:for,forEach,of,由于实现方式的不同,导致三种遍历方式性能有所差异 forEach的性能损耗,主要在于要生成函数。而of的问题,是在于内部使用了迭代器。所以这两种方式比起for来说都要差一些。 结论: for > forEach > of 在千万级的规模,差距达到几十毫秒, 亿级规模

python 编程找出矩阵中的幸运数字:说明,在一个给定的M*N的矩阵(矩阵中的取值0-1024,且各不相同),如果某一个元素的值在同一行中最小,并且在同一列中元素最大,那么该数字为幸运数字。

假设给定矩阵如下: matrix=[[10,36,52], [33,24,88], [66,76,99]] 那么输出结果应为66(同时满足条件) 代码如下: arr=[[10,36,52], [33,24,88], [66,76,99]] #获取矩阵的元素个数,也就是行数row=len(arr) #row=3print(row)#获取矩阵的列数数,也就是一维数组中的元素个数col=len(

JAVA之随笔

数组 数组:用来存放一组相同类型的数据类型----->引用类型 特点1:有长度->length 特点2:有下标,且下标从0开始 数组的定义方式 int[] arr={值1,值2,值3...} int[] arr=new int[值] int[] arr=new int[]{值1,值2,值3...} 注:该方式的[]中不能定数值 引用类型的打印 字符

Delphi 新语法:泛型

  这里的新语法一般指Delphi7不支持的语法,高版本中会经常遇到,所以花一点时间学会使用它。泛型是一种特殊的类型。你不用一开始就指明参数的具体类型,而是先定义一个类型变量,在使用的时候再确定参数的具体类型。准备从万一博客中学习,节约翻找资料的时间。 最简单的泛型 一开始我们

异或 应用

public static void process1(int[] arr) { int eor = 0; for (int ar : arr) { eor ^= ar; } // eor = a ^ b 两个奇数 结果为 1 // eor != 0 // eor 必然有一个位置上是 1 /* 提取罪右侧的 1

再谈指针和数组

指针和数组很多情况下,用法差不多,数组也被隐性转换成指针用,但是不能说数组就是指针,代表的是完全不同的东西。 定义数组的时候会分配一些类型相同的元素空间,而指针只不过是指向某一类型空间的地址而已,本身是一个数据类型,类型的值就是一个地址而已。 之所以很多情况下感觉类似,是因为

JAVARandom函数的应用-随机生成验证码

本次是在java中对函数random的应用,用来生成一个六位数的不重复的验证码, 首先对题目进行分析,有哪些需求: 1.六位验证码 2.不重复,与之前生成的不重复。 3.要验证,也就是要进行对比。 对于需求目前就分析这么多,后续在做的过程还有一些细节就不多赘述了,了解了需求之后就是开始题目的思路

【学习笔记】JS数据类型

【学习笔记】JS数据类型   1.字符串详解 1.1、正常字符串我们使用 双引号 或 单引号 包裹   1.2、注意转义字符 var msg = "a\'"         a' ​ \'           ' \n 换行 \t tab \u4e2d      '中'     \u####  Unicode字符 \x41        'A'

TypeScript笔记

TypeScript的最大特点:1、提供了强数据类型: 变量定义:声明类型 let name:string = "你好, ts"; let num:number = 120; let isOk:boolean = true; let arr:number[] = [1,2,3,5]; let arr:string[] = ['1', '2']; //数组 let arr:any[] = ['1', 2, undefine

js中4种浅拷贝方法

let obj_old = { name: 'Tom', age: 15, favorite: { food: 'bread', drink: 'milk' } } 1.语法:Object.assign(target, ...sources) target 目标对象,接收源对象属性的对象,也是修改后的返回值。 sources 源对象,包含将被合并的属性。 let obj_new = {...obj_old} 2.语法:{...sourc

二叉树及其三种遍历方式的实现(基于Java)

二叉树概念: 二叉树是每个节点的度均不超过2的有序树,因此二叉树中每个节点的孩子只能是0,1或者2个,并且每个孩子都有左右之分。 位于左边的孩子称为左孩子,位于右边的孩子成为右孩子;以左孩子为根节点的子树称其为左子树,右孩子为根节点的子树成为右子树。 二叉树可以使用顺序表(数组)来

NC79 丑数

NC79 丑数 描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 数据范围:0≤n≤2000 要求:空间复杂度 O(n), 时间复杂度 O(n) 示例1 输入: 7 返

数组去重都有哪些方法

  对象属性、new Set() 、filter+indexOf、hasOwnProperty、reduce+includes 第一种方法:利用对象属性 key 排除重复项:遍历数组,每次判断对象中是否存在该属性,不存在就存储在新数组中,并且把数组元素作为key,设置一个值,存储在对象中,最后返回新数组。这个方法的优点是效率较高,缺点是

Java学习随笔-二维数组

Java的二维数组 我们可以吧二维数组理解成为,原来的一维数组中的每一个元素里又存放了一个一维数组,然后就构成了二维数组。就是数组里面又套了一个数组 二维数组也类似于以前小时候学的二维直角坐标系(XY轴),每个X轴和Y轴对应的位置就是一个二维数组元素。 1、二维数组的定义 二维数组

第6章数组、排序和查找

1.为什么需要数组 一个养鸡场有 6 只鸡,它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg 。请问这六只鸡的总体重是多少?平均体重是多少? 请你编一个程序。 Array01.java 思路: 定义 6 个变量 , 加起来 总体重, 求出平均体重.引出 -> 数组 //数组的引出 // public class Array01 {

nodejs mongo数据库提取数据展示

初学nodejs,涉及内容太多,总找不到如何能处理数据之间的交换、提取,显示。查找众多资料,终于调试成功,为免遗忘,特记录如下: 安装nodejs,mongo数据库在这里不做记录了。 1、编写server.js文件:(C) var express = require('express');var app = express();var path = require('path');var db

Java学习随笔-数组

数组 1、数组的含义和特点 数组的含义 数组是相同类型数据的结合 数组按照一定的先后次序排列组合而成 数组中的每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。 数组的四个基本特点 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 其元素必

NumPy科学计算库学习_003_创建NumPy数组的IO操作

1、导入库 import numpy as np 2、生成一个数组 arr_io_1 = np.random.randint(0,10,(2,3)) arr_io_2 = np.random.randint(0,10,3) print("【arr_io_1】\n",arr_io_1) print("【arr_io_2】\n",arr_io_2) 【arr_io_1】 [[4 9 8] [4 6 2]] 【arr_io_2】 [9 6 2] 3、将一个

NumPy科学计算库学习_002_查看Numpy数组

0、添加NumPy库并生成一个NumPy数组 import numpy as np arr = np.random.randint(0,100,size=(2,3,4)) print("【arr】\n",arr) 【arr】 [[[12 64 65 56] [21 49 88 55] [85 21 2 38]] [[75 53 58 79] [15 39 17 18] [61 28 47 65]]] 1、查看NumPy数组的轴数/维度