[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

相关文章

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,