随想录 训练营 数组 随想
[刷题班] LeetCode442. 数组中重复的数据
题目描述 思路 原地哈希: 利用值域与数组下标空间大小的等同关系,我们可以构造一种对应"关系" 找到数字i时,将位置i-1处的数字翻转为负数 如果位置i-1上的数组已经为负数,则i是出现两次的数字,并将其加入到结果集中 方法一: class Solution { public List<Intege ......
day11 代码随想录算法训练营 20. 有效的括号
题目:20. 有效的括号 我的感悟: 脑回路清奇 理解难点: 遇到左括号存对应的右括号 3中情况, 1.左括号多了 2.右括号多了 3.左右括号不匹配 剪枝:奇数可以直接剪枝 注意为空的判断,防止报错 代码难点: 存3种情况 23情况要返回False 其他直接pop 最后判断stack栈为不为空,来 ......
【算法】【线性表】【数组】只出现一次的数字 II
1 题目 给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 有关位运算的知识:https://leetcode.cn/circle/d ......
【算法】【线性表】【数组】只出现一次的数字
1 题目 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 示例 2 : 输入:nums ......
长度最小的子数组
长度最小的子数组 暴力解法 int minSubArrayLen(int target, int* nums, int numsSize){ //初始化最小长度为INT_MAX int minLength = INT_MAX; int sum; int left, right; for(left = ......
java 数组字符串转数组或者list集合
java 数组字符串转数组,list集合(带泛型),二维数组,或者二维数组集合(带泛型) 今天前端传递过来一个二维数组类型的字符串,我需要把它每个字段导出到excel表中,那我就需要给他转换成二维数组或者list集合 1,转换成二维数组 这是传递过来的二维数组类型的字符串 "[[ "1", "流动资 ......
leetcode 4. 寻找两个正序数组的中位数
leetcode 4. 寻找两个正序数组的中位数 第四题:寻找两个正序数组的中位数 1.合并数组,排序,找中位数 暴力解法,时间复杂度(M+N),空间复杂度(M+N) public double findMedianSortedArrays(int[] nums1, int[] nums2) { ......
java数组
一、静态初始化数组 完整格式:数据类型[ ] 数组名 = new 数组类型[ ]{元素1, 元素2, 元素3, ...}; 如:int [ ] ages = new int[ ]{12,24,36}; 简化格式:数组类型[ ] 数组名 = {元素1, 元素2, 元素3, ...}; 如:int[ ] ......
有序数组的平方
有序数组的平方 第一种,先平方后排序 #include <stdio.h> #include <stdlib.h> // 比较函数,用于快速排序 int compare(const void* a, const void* b) { int A = *((int*)a); int B = *((in ......
Day44 稀疏数组(1种数据结构)
稀疏数组(1种数据结构) 把棋盘转变为二维数组存储 黑棋用1代表,白棋用2代表 11行11列 有效数字2个 [0] 11行 11列 2(有效数字) [1] 1行 2列 1值 [2] 2行 3列 2值 对稀疏数组的数组来说就是3行(有效数字2个+1,[0],[1],[2]即3行) 列数就是固定3列 ......
【算法设计与分析】(一)序言:最大子数组、归纳法正确性证明、渐进记号。苏大计科院研一期末复习笔记
写在前面 首先,本人很菜。 其次,本文只也许够应付考试,个人使用。而且其实就是ppt内容只是我自己喜欢这样整理。虽然全力理解内容且认真书写但也可能存在错误,如有发现麻烦指正,谢谢🌹 最后,因为不知道考试怎么考,本人的复习方式是照着目录讲一遍自己的理解+写伪代码(如果来的及会再做一个综合纯享版),再 ......
sortrows函数应用:用于数组矩阵排序
sortrows常用用法: B = sortrows(A) B = sortrows(A,column) 我们先创建一个矩阵: A = 95 45 92 41 13 1 84 95 7 73 89 20 74 52 95 7 73 5 19 44 20 95 7 40 35 60 93 67 76 ......
【C语言】字符数组与scanf读取字符串
C语言中不提供字符串类型,用字符数组来存储字符串。 字符数组 //定义并初始化字符数组 //char c[10] = {'h','e','l','l','o'}; //更方便的方式: char c[10] = "hello"; //注意c[5]中存储的是'\0' C语言规定字符串的结束标志为 '\0 ......
[NLP复习笔记] 基于负采样的 Skip-gram 及 SGD 训练公式推导
1. one-hot 向量 我们先了解一下 \(\text{one-hot}\) 向量。\(\text{one-hot}\) 编码是表示分类变量的常见方法,尤其在数据预处理和机器学习的特征工程中。一个 \(\text{one-hot}\) 向量是一个其中只有一个元素是 1,其余为 0 的向量。 假设 ......
【C语言】数组的传递
一维数组的传递,数组长度无法传递给子函数。 #include <stdio.h> void print(int b[], int len){ for(int i=0; i<len; i++){ printf("%-3d", b[i]); } b[4]=20; printf("\n"); } int ......
【C语言】数组的访问越界
在C语言中,访问数组时编译器并不会检查数组下标是否越界。 这种不加检查的行为的好处是不需要浪费时间对有些已知正确的数组下标进行检查,坏处是会导致错误地访问别的地址空间。 #include <stdio.h> //数组访问越界 int main() { int a[5]={1,2,3,4,5},i=2 ......
“给定一个数组 求某一个连续子数组的和 ”从这里开始
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test {//数组 求 某一个 连续子数组的和 ......
代码随想录算法训练营第二十五天 | 216.组合总和III,17.电话号码的字母组合
一、216.组合总和III 题目链接: LeetCode 216.组合总和III 学习前: 思路: 返回类型和参数: void fun(int n, int k, int start) 终止条件: int len = list.size(); if(len==k){ if(n==0 ){ List< ......
Matlab 之 字符串数组查找
Matlab的优势在于向量操作,字符串操作往往费时费力,但是如果能充分利用Matlab自带的一些函数,也可以取得不错的效果。下面就介绍一下字符串数组查找的小技巧。 字符串数组我通常会选择应用cell格式保存,下面的分析也是建立在这个前提下。 【1】 strcmp() 函数 strcmp() 函数的基 ......
代码随想录day11 有效括号 删除字符串中的所有相邻重复项 逆波兰表达式求值
有效括号 思路出来代码比较简单 左半括号出现就压右半进栈 这样比左右括号直接压进去 做的比较会少一些 栈为空但是还有符号出现或者是右半括号和当前元素对不上 显然为false 剩下的情况就是栈顶和当前元素匹配 pop即可 栈尤其适合做这类匹配类的题目 删除字符串中的所有相邻重复项 消消乐 直接压进栈做 ......
Go 语言为什么建议多使用切片,少使用数组?
大家好,我是 frank,「Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言中,数组固定长度,切片可变长度;数组和切片都是值传递,因为切片传递的是指针,所以切片也被称为“引用传递”。 读者朋友们在使用 Go 语言开发项目时,或者在阅读 Go 开源项目源码时,发现很少使用到数组,经常 ......
非工程师指南: 训练 LLaMA 2 聊天机器人
引言 本教程将向你展示在不编写一行代码的情况下,如何构建自己的开源 ChatGPT,这样人人都能构建自己的聊天模型。我们将以 LLaMA 2 基础模型为例,在开源指令数据集上针对聊天场景对其进行微调,并将微调后的模型部署到一个可分享的聊天应用中。全程只需点击鼠标,即可轻松通往荣耀之路!😀 为什么这 ......
C 语言指针完全指南:创建、解除引用、指针与数组关系解析
C 语言中的指针 创建指针 我们可以使用引用运算符 & 获取变量的内存地址: int myAge = 43; // 一个 int 变量 printf("%d", myAge); // 输出 myAge 的值 (43) printf("%p", &myAge); // 输出 myAge 的内存地址 ( ......
代码随想录算法训练营第二十四天 | 回溯算法理论基础,77. 组合
一、回溯算法理论基础 学习: 1. 基本概念 回溯法是一种搜索方式 回溯的本质是穷举,是递归的副产品,即回溯算法就是递归算法 回溯解决的问题都能理解成树形结构,一般是在集合中递归查找子集。集合的大小构成树的宽度(n叉树),递归的深度构成了树的深度 2. 回溯解决的问题 (1)组合问题:N个数里面按一 ......
代码随想录 day10 栈模拟队列 队列模拟栈
栈模拟队列 大概了解一下思路自己就可以很快写出来了 我们需要第二个辅助栈帮助我们把stackIn的顺序颠倒,这样FILO的栈颠倒后 pop的顺序就和FIFO的队列顺序一致了 大概就是这张图 队列模拟栈 题目要求使用两个队列模拟栈 其实可以只需要一个队列就可以模拟 栈的出栈顺序是最后一个先出栈,那么队 ......
树状数组
给出一个长度为nn的数组,完成以下两种操作:1. 将第ii个数加上kk2. 输出区间[i,j][i,j]内每个数的和 朴素算法单点修改:O(1)O(1)区间查询:O(n)O(n)使用树状数组单点修改:O(logn)O(logn)区间查询:O(logn)O(logn)前置知识lowbit()lowbi ......
JavaScript——数组的归并方法
JavaScript的reduce和reduceRight的作用是通过遍历数组得到一个结果,原理如下: function myReduce(execute, initValue) { const length = this.length let result for (let i = 0; i < ......
寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1 ......
数组
数组的概述 数组的特点:数组是有序排列的。 1、数组属于引用数据类型的变量。数组的元素既可以是基本数据类型也可以是引用数据类型。 2、创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 3、数组的长度一旦确定,就不能修改。 数组的分类 按照维度:一维数组、二维数组、 ......