[AHK v2]比较两个数组的差异

2024-04-06 04:52
文章标签 数组 比较 差异 v2 两个 ahk

本文主要是介绍[AHK v2]比较两个数组的差异,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目 

Input : arr1[] = {2, 4, 5, 7, 8, 10, 12, 15}.

        arr2[] = {5, 8, 11, 12, 14, 15}.

Output : 2 4 7 10 11 14        

        arr1[] - arr2[] = {2, 4, 7, 10}.

        arr[2] - arr1[] = {11, 14}.

        SymmDiff = (arr1[] - arr2[]) UNION

                   (arr2[] - arr1[]).

                 = {2, 4, 7, 10, 11, 14}.


 

Input : arr1[] = {1, 3, 5, 8, 15, 27, 35}.

        arr2[] = {5, 7, 8, 11, 15, 18, 35}.

Output : 1 3 7 11 18 27

        arr1[] - arr2[] = {1, 3, 27}.

        arr[2] - arr1[] = {7, 11, 18}.

        SymmDiff = (arr1[] - arr2[]) UNION

                   (arr2[] - arr1[]).

                 = {1, 3, 7, 11, 18, 27}.

ahk v2 解题

    类似合并排序算法 https://www.geeksforgeeks.org/merge-two-sorted-arrays/
    找到两个排序数组的对称差异的一个有效解决方案类似于合并排序的合并过程。
    我们同时遍历两个数组,如果当前两个元素不匹配,
    则打印较小的元素,并在具有较小元素的数组中前进。
    否则,我们将忽略这些元素,并在两个数组中继续前进。

#Requires AutoHotkey v2.0 
;比较两个有序数组 中的元素差异
SortedArrayDiff(arr1, arr2) { ; https://www.geeksforgeeks.org/symmetric-difference-two-sorted-array/ ;Symmetric difference of two sorted array;also accounting for array length differencei := 1, j := 1, n := arr1.Length, m := arr2.Length, diff := []while (i <= n && j <= m) {if arr1[i] < arr2[j] {diff.Push(arr1[i]), i++} else if arr2[j] < arr1[i] {diff.Push(arr2[j]), j++} else {i++, j++}}while i <= ndiff.Push(arr1[i]), i++while j <= mdiff.Push(arr2[j]), j++return diff
}Concat(words) {delim := ","s := ""for v in wordss .= v . delimreturn s};main
arr1:=[2, 4, 5, 7, 8, 10, 12, 15]
arr2:=[5, 8, 11, 12, 14, 1]
MsgBox  Concat(SortedArrayDiff(arr1, arr2))

 

这篇关于[AHK v2]比较两个数组的差异的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879042

相关文章

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

MySQL中比较运算符的具体使用

《MySQL中比较运算符的具体使用》本文介绍了SQL中常用的符号类型和非符号类型运算符,符号类型运算符包括等于(=)、安全等于(=)、不等于(/!=)、大小比较(,=,,=)等,感兴趣的可以了解一下... 目录符号类型运算符1. 等于运算符=2. 安全等于运算符<=>3. 不等于运算符<>或!=4. 小于运

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序