• 2025-01-21神级STL结构-rope大法(学习笔记)
    简介:他是一个\(STL\)中自带的一种数据结构,是pb_ds(Policy-BasedDataStructures)库的一个分支,由于他的底层是可持久化平衡树——红黑树,或块状链表。所以他的操作的复杂度几乎约等于\(O(logn)\)或\(\sqrtn\)。它可支持操作较多,完全可以理解成加强版的\(vector\)。最为抽
  • 2025-01-19指针应用-查找数组元素(PTA)C语言
    编写一个名为findX的函数,该函数的参数p指向一个int数组,数组的容量n由参数2指定。在该数组中,查找数据x所在的位置。如果数据x有出现多次,则返回其最后一次出现的位置对应的下标。如果没有找到,则固定返回-2。intfindX(int*p,intn,intx);函数接口定义:intfindX(int*p,intn
  • 2025-01-1628. 找出字符串中第一个匹配项的下标
    题目KMP典中典,可惜我不会。卡哥思路里的讲解也似懂非懂,跟着卡哥代码敲了一遍classSolution{public:voidgetNext(int*next,conststring&s){intj=-1;next[0]=j;for(inti=1;i<s.size();++i){whi
  • 2025-01-15列表的基本使用方法
    列表的基本使用方法列表的特点可以容纳多个元素(上限极大)可以容纳不同类型的元素数据是有序存储的允许重复数据存在元素可以修改   列表的基础构建方式列表名=[元素1,元素2,元素3,元素n]元素可以是任意,如列表,数组,整数等。My_list=[“tom”,”jerry”,[“locy”],88]是
  • 2025-01-13做题随笔:P10465
    Solution这里是博客:Tenil,刚刚用上了JS,不妨看看?题意原题链接给定数列\(a_N\),按以下要求分为\(n\)组:每组中的数单调不降。每组中的数在原数列中的下标单调递减/单调递增/先递减再递增。(思考一下双向队列插入值的过程显然有:越往两端的越后入队)存在一种方法,使所有分组拼接
  • 2025-01-11leetcode[42][hard]接雨水
     目录题目思路答案一、题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6
  • 2025-01-11洛谷B3733 [信息与未来 2017] 基因组分析密码锁题解
    [信息与未来2017]密码锁题目描述乌龟给自己的贵重物品上了密码锁。密码锁上有5 个数字拨盘。每个数字拨盘每次向上拨使数字增加1 (9 向上拨得到0),向下拨使数字减少1 (0 向下拨得到9)。拨盘上的数字组成一个5 位数。只要拨盘上的数字变为素数,密码锁就会被解开。素
  • 2025-01-09算法练习03
    一、题目给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"。输出:@解释:"sad”在下标0和6处匹配。第一个匹
  • 2025-01-08字符串的方法作用
    indexOf()语法:字符串.indexOf(参数)功能:查找字符串首次出现的位置返回下标如果找不到返回-1includes()语法:字符串.includes(参数)功能:查找字符串首次出现的位置返回true如果找不到返回falsestartsWith()语法:字符串.startWith(参数)参数:参数要查找的字符串功能:查找字
  • 2025-01-07高效变位映射
    技术文章:解决变位映射问题的高效方法引言在编程领域,处理数组和字符串的变位词问题是一个常见的挑战。变位词是指通过重新排列元素顺序而形成的数组或字符串。例如,数组[12,28,46,32,50]和[50,12,32,46,28]是彼此的变位词。本文将介绍如何高效地解决一个特定的变位映
  • 2025-01-05DP-子序列问题(待完善
    DP-子序列问题(待完善上升子序列定义:在一个序列\(a\)中满足$a_j<a_i$且\(j<i\)的子序列。\(e.g.\)在序列{\(0\)\(3\)\(2\)\(5\)\(1\)\(4\)}中{\(0\)\(1\)\(4\)}与{\(3\)\(5\)}便是其中两个上升子序列。最长上升子序列定义:在满足上升子
  • 2025-01-04跳跃游戏(贪心算法)
    给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1:输入:nums=[2,3,1,1,4]输出:true解释:可以先跳1步,从下标0到达下标
  • 2025-01-04leetCode 739.每日温度
    题目给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]示
  • 2025-01-03【hashMap扩容】关于hashMap扩容以后,新下标的理解
    首先我们知道hashMap在存取元素的时候的下标算法是这样子的根据当前元素(e)的hash值((e.hashCode())^(e.hashCode()>>>16))去与上当前hashMap的容量减一(Cap-1)put和get都是如此put get所以在扩容算法中,元素的坐标也应是用这种方式存的,看一下代码我们会发现,当,当前
  • 2025-01-03[数据结构学习笔记3] 数组
    数组是用于存放一组数据,把这组数据存放在连续的空间里。通常有插入,删除,查找,访问等操作。举例:购物清单,初始状态:清单:牛奶->鸡蛋->奶油->火腿->果汁下标:0      1     2      3     4插入:1.插在末尾清单:牛奶->鸡蛋->奶
  • 2024-12-31hot100-一刷-14贪心(共4道题)
    121.买卖股票的最佳时机题目链接题目描述代码实现分析:我们需要知道第i天之前,股票价格的最小值是什么,再讨论从股票最小值买入,第i天卖出获得的利润,取最大值。代码:classSolution{publicintmaxProfit(int[]prices){intminPrice=prices[0];
  • 2024-12-29数组和链表有何区别?
    从定义上讲:数组和链表都是数据的集合。1.数组中每个元素都是连续的,通过下标进行访问,当我们获取到下标后,就可以随意访问数组中的值。2.链表中的元素则是不连续的,必须获得链表中某个元素后,才能顺序访问该元素的周围元素,我们没办法随意访问链表中的元素。链表分为单向链表,双
  • 2024-12-28题海拾贝:有关链表的模拟练习题
        Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!我的博客:<但凡.我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》欢迎点赞,关注!    这一篇我给大家提供了三道题,都是静态链表德使用以及静态链表增删查改的模拟实现1、
  • 2024-12-27给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)
    如果needle不是haystack的一部分,则返回-1示例1: 输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。第一个匹配项的下标是0,所以返回0。示例2: 输入:haystack="leetcode",needle="leeto"输出:-1解释:"lee
  • 2024-12-25贪心算法之分发糖果--附java完整代码
    leetcode135.分发糖果classSolution{/**分两个阶段1、起点下标1从左往右,只要右边比左边大,右边的糖果=左边+12、起点下标ratings.length-2从右往左,只要左边比右边大,此时左边的糖果应该取本身的糖果数(符合比它
  • 2024-12-24指针, C语言的精髓
    指针,C语言的精髓 指针,C语言的精髓莫队先咕几天,容我先讲完树剖(因为后面树上的东西好多都要用树剖求LCA,树剖求LCA比倍增求LCA常数小).什么是指针保存变量地址的变量叫做指针.这是大概的定义,但是Defad认为这个定义不太好理解,所以我们先不看.我们的电
  • 2024-12-23剑指Offer|LCR 012. 寻找数组的中心下标
    LCR012.寻找数组的中心下标给你一个整数数组nums,请计算数组的中心下标。数组中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为0,因为在下标的左侧不存在元素。这一点对于中心下标位于数
  • 2024-12-232024.12.23及以前做题记录
    低价购买题意:求一个序列最长下降子序列,及达到最长的方案数,方案不同当且仅当子序列对应位置不完全一样。做法:考虑n^2dp,用fi表示第i个位置最大是下降子序列的第几项,用gi表示达到i位置最大长度的不同方案数。首先单纯求最大长度是简单的,要计算方案数,只需要减去相同数字的贡献就
  • 2024-12-22第八章:数组-上
    在编写程序的过程中,经常会遇到使用很多数据量的情况,处理每一个数据量都要有一个相对应的变量,如果每一个变量都要单独进行定义则很繁琐,使用数组就可以解决这种问题。本章致力于使读者掌握一维数组和二维数组的作用,并且能利用所学知识解决一些实际问题;掌握字符数组的使用及
  • 2024-12-21PTA-求最大值及其下标
    本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:628101910输出样例:10