首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel实战技巧55: 在包含重复值的列表中查找指定数据最后出现的数据

A2:A10中的值,如果相同返回TRUE,不相同则返回FALSE,得到一个由TRUE和FALSE组成的数组,然后与A2:A10所在的行号组成的数组相乘,得到一个由行号和0组成的数组,MAX函数获取这个数组的最大值...,也就是与单元格D2中的值相同的数据在A2:A10中的最后一个位置,减去1是因为查找的是B2:B10中的值,是从第2行开始的,得到要查找的值在B2:B10中的位置,然后INDEX函数获取相应的值。...图2 使用LOOKUP函数 公式如下: =LOOKUP(2,1/($A$2:$A$10=$D$2),$B$2:$B$10) 公式中,比较A2:A10与D2中的值,相等返回TRUE,不相等返回FALSE...,得到由TRUE和FALSE组成的数组,然后使用1除以这个数组,得到由1和错误值#DIV/0!...组成的数组,由于这个数组中找不到2,LOOKUP函数在数组中一直查找,直至最后一个比2小的最大值,也就是数组中的最后一个1,返回B2:B10中对应的值,也就是要查找的数据在列表中最后的值。

10.9K20

关于虚拟列表,看这一篇就够了

虚拟列表原理 虚拟列表的核心步骤可以总结成五步: 不把长列表数据一次性全部直接渲染在页面上 截取长列表一部分数据用来填充可视区域 长列表数据不可视部分使用空白占位填充(下图中的startOffset和endOffset...核心步骤 1.初始化列表项数,开始结束索引,以及列表项缓存数组 首先我们需要给定一个初始的列表项高度,并初始化一个用于列表项高度以及位置信息的数组,这里存储位置信息的目的是可以直接通过比较scrollTop...当用户滚动时,我们需要一直更新这个缓存数组中的列表项信息,目的是下次计算就能使用列表项的真实高度和位置,从而准确渲染出列表项。...并且需要注意的是,不只是需要更新视图中的列表项,还需要更新之后的所有列表项 // 每次滚动,都去更新缓存数组中dom的高度和位置   useEffect(     function () {      ...这里我们需要在列表项里面去重新寻找开始索引,因为存了列表项的top值,所以这里我们比较其scrollTop的大小即可,并且数组中的列表项遵循从上往下排列,所以其top和bottom值必定也是线性变化的

4K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    杨校老师课堂之Java基础集合专题知识点整理

    public E getLast() :返回此列表的最后一个元素。 public E removeFirst() :移除并返回此列表的第一个元素。...public E removeLast() :移除并返回此列表的最后一个元素。 public E pop() :从此列表所表示的堆栈处弹出一个元素。...但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。...从JDK1.8开始,哈 希表存储采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找 时间。...Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接 口。 我们通过查看 特点: Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

    62430

    如何在 Linux 中使用 Bash For 循环

    在编程语言中,循环是必不可少的组件,当您想要一遍又一遍地重复代码直到满足指定条件时使用。 在 Bash 脚本中,循环扮演着几乎相同的角色,并用于自动执行重复性任务,就像在编程语言中一样。...在 Bash 脚本中,有 3 种类型的循环:for 循环、while 循环和 until 循环。这三个用于迭代值列表并执行一组给定的命令。...循环示例 在最简单的形式中,for 循环采用以下基本格式。在此示例中,变量 n 遍历一组用花括号括起来的数值,并将它们的值打印到标准输出。...数组循环 您还可以使用 for 循环轻松地遍历数组中定义的值。在以下示例中,for 循环遍历 fruits 数组中的所有值并将它们打印到标准输出。 #!...第 4 行:检查 n 的值,如果变量等于 6,则脚本向标准输出回显一条消息并停止迭代。 第 9 行:仅当第 4 行的条件为假时才将数字打印到屏幕上。

    43740

    【算法实战系列】两数之和

    ---- >>>> 步入正题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。...但是,你不能重复利用这个数组中同样的元素。...如果要找出数组中满足条件的数据,那么就要用到循环了,通过遍历这个循环,用数组中前一个下标和后一个下标进行对比,如果两个下标的值相加等于target变量,那么就返回它们,如果没有的话,没关系,我们throw...解题代码: 方法一:暴力法 遍历每个元素x,并查找是否存在一个值与它的和等于target ? 测试结果: ?...时间复杂度:O(n), 我们只遍历了包含有 n 个元素的列表一次。在表中进行的每次查找只花费 O(1)的时间。

    42220

    Excel 基础篇

    ,替换内容) &,合并多个单元格内容 语法:=A1&B1&C1 COUNT,统计函数求出参数中数值的个数 COUNTIF,统计函数求出满足条件的值的个数 COUNTA,统计函数求出参数列表中非空值单元格的个数...: 设置单元格格式-- 数字 --- 文本 隐藏单元格内所有值: Ctrl+1打开单元格设置窗口 -- 数字 -- 自定义 -- 右边文框中输入三个分号 ;;; 自定义单元格格式代码,0 表示数字......日期按年年年年-月月-日日,代码:yyyy-mm-dd 手机号分段,代码:000 0000 0000 数字1显示成1月,代码: 0"月" 批量增加相同字符,"字符"0 查找重复值: 选取数据列...-- 开始 -- 条件格式 --- 突出显示单元格规则 --- 重复值 打印标题行: 页面布局 -- 打印标题 -- 点顶端标题行后的折叠按钮,选取要打印的标题行。...多页强制打印到一页上: 页面布局 -- 打印标题 -- 页面 --- 调整为1页宽1页高 ---- Excel干的是技术活,不是体力活!

    2.3K20

    金九银十面试归来:这是一份用心整理的Android面试总结

    List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。 4.Map适合储存键值对的数据。...2.HashSet 是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束。...(如图中黄色区域),那么Action_DOWN事件就在该点产生,然后用户移动手指并最后离开屏幕。...优点:执行定时任务以及有固定周期的重复任务 七. 内存泄露,怎样查找,怎么产生的内存泄露。...application的context来替代和activity相关的context 5).注册没取消造成的内存泄漏 6).集合中对象没清理造成的内存泄漏 查找内存泄漏 查找内存泄漏可以使用Android

    52730

    《图解算法》总结第1章 算法简介第2章 选择排序第3章 递归第4章 快速排序第5章 散列表第6章 广度优先搜索第7章 狄克斯特拉算法第8章 贪婪算法第9章 动态规划

    4.5  打印数组中每个元素的值。 4.6  将数组中每个元素的值都乘以2。 4.7  只将数组中第一个元素的值乘以2。...使用D&C处理列表时,基线条件很可能是空数组或只包含一个元素的数组。 实现快速排序时,请随机地选择用作基准值的元素。快速排序的平均运行时间为O (n log n )。...第5章 散列表 散列表适合用于: 仿真映射关系; 防止重复; 缓存/记住数据,以免服务器再通过处理来生成它们。 第5章总结: 你可以结合散列函数和数组来创建散列表。...散列表可用于缓存数据(例如,在Web服务器上)。 散列表非常适合用于防止重复。 第6章 广度优先搜索 广度优先搜索的最终代码如下。...node = find_lowest_cost_node(costs) ←------找出接下来要处理的节点,并循环 第7章总结: 广度优先搜索用于在非加权图中查找最短路径。

    1.6K90

    内存泄露从入门到精通三部曲之排查方法篇

    点击Devices视图界面中最上方一排图标中的“Update Heap” 点击Heap视图 点击Heap视图中的“Cause GC”按钮 到此为止需检测的进程就可以被监视。 ?...Heap视图中部有一个Type叫做data object,即数据对象,也就是我们的程序中大量存在的类类型的对象。...可以这样判断: 进入某应用,不断的操作该应用,同时注意观察data object的Total Size值,正常情况下Total Size值都会稳定在一个有限的范围内,也就是说由于程序中的的代码良好,没有造成对象不被垃圾回收的情况...而手机SDk Dump 出的文件要经过转换才能被 MAT识别,Android SDK提供了这个工具 hprof-conv (位于 sdk/tools下) 首先,要通过控制台进入到你的 android sdk...根据对象的增长通过最小二乘法拟合出该对象类型的增长速度,如果超过经验值则会列入疑似泄露的对象列表。 3.3 UIAutomator完成重复操作的自动化 最后一步就很简单了。

    1.9K140

    Excel 常用的九十九个技巧 Office 自学教程快速掌握办公技巧

    4、快速隐藏列表格内容太多需要隐藏工作表中某一列的数据时可直接选取列,快速向左拖动,选中的列就隐藏了。...6、怎样快速删除“0”值单元格行按组合键【Ctrl+F】导出查找对话框,选择【查找】选项卡,在输入栏中输入:0,点击【全部查找】再按组合键【Ctrl+A】就会显示表格中内容为 0 的所有单元格,选中单元格后右击...7、重复上一次输入在单元格中输入内容按回车键进入下一个单元格后,再按组合键【Ctrl+D】即可以快速的重复上一次输入的内容。...16、查找重复值选取查找数据的区域,依次点击【开始】-【条件格式】-【突出显示单元格规则】-【重复值】设置选择重复值格式为【浅红填充色深红色文本】。...66、利用列表选择录入内容在目标单元格中按下 Alt + ↓,出现下拉列表,也就是上面录入的内容,可直接选择输入数据。

    7.2K21

    unity3d自学教程_3D技巧

    ,并支持这些内容在Windows、iOS、Android等多种平台的发布,功能非常强大。...适用于大量重复使用的物体(相当于为这些重复物体创建一个模板)。将预制件放置在场景中,即对其进行了实例化。修改预制件的属性将影响它的所有实例,而修改其单个实例的属性将仅影响该实例。...面板左侧有Favorites和Assets两个分支,其中Assets分支为所有资源的树状层级列表,类似于Windows资源管理器,而Favorites分支可存放经常访问的资源以及某次资源查找的结果,类似于收藏夹...面板右侧是以图标(或列表)形式显示的资源集合,其右上方放大镜图标所标识的输入框为资源查找框,可输入资源名称、类型和标签进行查找。...层级面板(Hierarchy):列出当前场景视图中的所有游戏对象(GameObject)。一旦游戏对象在场景视图中被添加或删除,在层级视图中也将同步更新。

    3.3K20

    【JavaScript】内置对象 - 数组对象 ④ ( 索引方法 | 查找给定元素的第一个索引 | 查找给定元素的最后一个索引 | 索引方法案例 - 数组元素去重 )

    console.log(indexOf5); // 查找数组中 索引 1 的元素后 , 第一个 5 的索引值 // 查找时 包含 该索引值 // 这里...; // 输出 : 1 console.log(indexOf5); // 查找数组中 索引 1 的元素后 , 第一个 5 的索引值...// 输出 : 4 console.log(lastIndexOf5); // 查找数组中 索引 1 的元素后 , 第一个 5 的索引值 // 查找时...); // 输出 : 1 console.log(lastIndexOf5After1); // 查找数组中 索引 2 的元素后 , 第一个 5 的索引值...给定一个数组 , [9, 5, 2, 7, 5] 将数组中的重复元素删除 , 也就是将上述数组中 重复的元素 5 删除 ; 创建一个新的空数组 , 遍历旧数组 , 遍历每个旧数组元素时 , 查询该元素是否在新数组中

    17510

    Redis Sets 使用场景有哪些?如何实现共同好友?

    Sets 的功能类似 Java 中的 HashSet,是通过散列表实现的,所以添加、删除、查找元素的时间复杂度是 O(1)。...Sets 是字符串类型的无序集合,集合中的元素是唯一的,不会出现重复的数据。...不同的是,当元素内容都是 64 位以内的十进制整数,并且元素个数不超过 set-max- intset-entries 配置的值(默认为 512)时,Sets 会使用更加省内存的 intset(整形数组...使用场景 当你需要存储多个元素,并且要求不能出现重复数据,无须考虑元素的有序性时,可以使用 Sets。 Sets 还支持在集合之间做交集、并集、差集操作,例如统计如下场景中多个集合元素的聚合结果。...◎ 每日新增关注数:对近两天的总注册用户量集合取差集。 ◎ 打标签:你可以为自己收藏的每一篇文章打标签,例如微信收藏功能,这样可以快速地找到被添加了某个标签的所有文章。

    7310

    常用编程思想与算法

    二分查找   二分查找是一种算法,其输入是一个有序的元素列表,如果要 查找的元素包含在列表中,二分查找返回其位置;否则返回Null。   ...对排序算法来说,基线条件为数组为空或只包含一个元素。   首先,从数组中选择一个元素,这个元素被称为基准值;   接下来,找出比基准值小的元素以及比基准值大的元素。   ...这样散列表的概念就非常好理解了,散列表通常用于查找,在网站投票中还可以过滤掉已经投过票的人,也就是去重,还有就是对于一些经常访问的网站进行缓存也使用了散列表。...我们来将 散列表同数组和链表比较一下。   填装因子   用来描述性能的参数,值为散列表的元素数/位置总数。填装因子大于1时意味元素数大于位置数,这个时候可能就是要考虑调整散列表长度了。...在此过程中对于已经查过的人单独拿出来,因为重复查无意义甚至导致无限循环。 注: 有向图中的边为箭头,箭头的方向指定了关系的方向,例如,rama→adit表示rama欠adit钱。

    81910

    visualgo学习与使用

    ---- 他主要包含了24种常见算法问题: 排序 位掩码 链表 二叉堆 哈希表 二叉搜索树 图结构 并查集 树状数组 线段树 递归树/有向无环图 图遍历 最小生成树 单源最短路径 循环查找 后缀树...冒泡排序 排序算法将一串数组(一个列表)中的元素(整数,数字,字符串等)按某种顺序(增大,减小,字典顺序等)重新排列。 有很多种不同的排序算法,每一种都有各自的优势和限制。...排序常常作为计算机课程中的介绍性问题,用以介绍一系列的算法思路。 不失普遍性,我们在此可视化中,只将(可能包含重复)的整数数组排序至非减。...当(整数)数组 A 有序时,涉及 A 的许多问题变得简单(至少比原本简单): 在数组 A 中搜索特定值 v, 查找(静态)数组 A 中的最小/最大/第 k 个最小/最大值, 测试唯一性并删除数组 A 中的重复项...哈希表 哈希表也称为散列表,是一种以键-值对形式存储数据的数据结构。哈希表通过将键映射到数组下标来实现快速查找和插入,其时间复杂度通常为O(1)。 ---- 6.

    37610

    货拉拉 Android 动态资源管理系统原理与实践(下)

    对于上述这些步骤,在我们的货拉拉动态管理系统初始版本中,我们采用了自己打zip包,自己写java代码来生成资源信息的方式。...调用 System.loadLibrary("xxx"), framework 从当前上下文 ClassLoader 实例(或者用户指定)的目录数组里查找并加载名为 libxxx.so 的文件。...数组中查找对应的路径,我们将自己的so加入到nativeLibraryPathElements最前面,由此达到动态加入so的目标。...遍历等待加载so列表,尝试加载所有so文件,并将成功加载的so文件,移除该列表。 将资源id和本地路径加入缓存,防止so被重复加载。 回调加载完成监听器。...create_java_pkg_name : 'com.test' , ] /** * 配置要删除和拷贝的so文件 * map的key为压缩包名称,值为压缩包包含的so文件列表

    1.2K31

    JAVA常用API整理

    ArrayDeque 一种用循环数组实现的双端队列 HashSet 一种没有重复元素的无序集合 TreeSet 一种有序集 EnumSet 一种包含枚举类型值的集合 LinkedHashSet 一种可以记住元素插入次序的集...) 设置给定位置元素并返回原来的元素 int indexOf(Object element)int lastIndexOf(Object element) 返回与指定元素相等元素在列表中第一次出现的位置返回与指定元素相等元素在列表中最后一次出现的位置...(E obj) 在数组列表尾端添加一个元素,永远返回true int size() 返回存储在数组中的当前元素数量 void set(int index, E obj) 设置数组列表指定位置的值 E get...,但不能有重复的键,每个键都对应一个值,真正存储在图中的是键值构成的条目。...在之前的版本中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当链表中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。

    2K41

    TypeScript实现图

    临接表 我们可以使用临接表这种动态数据结构来表示图,临接表由图中每个顶点的相邻顶点列表所组成。我们可以使用数组、链表、散列表或字典来表示相邻顶点列表,如下图所示描述了临接表这种数据结构。...类内部,声明一个数组用来存储图中所有顶点的名字(vertices),声明一个字典来存储临接表(adjList)。 字典会使用顶点的名字作为键,邻接顶点列表作为值。...向图中添加顶点(addVertex) addVertex方法接收一个参数:要添加的顶点(v) 首先,判断要添加的顶点是否在图(顶点列表)中 如果不存在,将该顶点添加到顶点列表中 在临接表中设置顶点v作为键...方法将其添加到图中 获取顶点v的临接表,将w添加进v的临接表中,这样我们就得到了一条来自顶点v到顶点w的边 如果是无向图则需要添加一条自w到v的边 实现图的获取方法 上面我们实现了向图中插入值,我们还需要获取图中的值以及将图转换成比较友好的字符串...为了方便起见,我们创建了一个数组,这个数组包含了图中的所有顶点,我们遍历数组,将数组中的每个顶点添加进我们的图中。

    57830
    领券