当前位置:首页 > 芯闻号 > 充电吧
[导读]比较经典的四个算法题,目前只收集到相关的思路和个别题目的解法,不断更新中 1.一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,

比较经典的四个算法题,目前只收集到相关的思路和个别题目的解法,不断更新中
1.一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。
请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
注意:
- 5个数值允许是乱序的。比如: 8 7 5 0 6
- 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4
- 0可以多次出现。
- 复杂度如果是O(n2)则不得分。
2.设计一个算法,找出二叉树上任意两个结点的最近共同父结点。
复杂度如果是O(n2)则不得分。
3.一棵排序二叉树,令 f=(最大值 最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。
复杂度如果是O(n2)则不得分。
4.一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N 1。
复杂度最好是O(n),如果是O(n2)则不得分。
思路分析
1.非0最大-非0最小 1  非0最大-非0最小 N 1,则back–;
如果A[front] A[back]=N 1,则计数器加1,back–,同时front ;
如果A[front] A[back] 重复上述步骤,O(n)时间找到所有数对,总体复杂度为O(nlgn)
题目分析
第1题:首先扫描一遍求出非0平均值,然后再扫描一遍即可判断,复杂度:O(n)
第2题,是一个送分题,可以设计一个相当巧妙的数据结构,其复杂度为O(n)
第3题,也是送分题,扫描几次即可
第4题,送分题。牺牲空间即可完成。
具体算法
1.思路是 非0最大值-非0最小值 <=数组长度-1
我觉得这道题的前提非常重要
public boolean isContiguous(int[] array)
  {
  int min=-1;
  int max=-1;
  for(int i=0;iarray)
  {
  min=array;
  }
  if(max==-1||max<array)
  {
  max=array;
  }
  }
  }
  return max-min <=array.length-1;
  }
4.关键点在于创建一个Hash表,典型的以空间换时间:-)
    public static int getSumCount(int[] array,int N)
    {
    int count=0;
    //创建哈希表
        int[] hashTable=new int[N 1];
        for(int i=0;i <array.length;i )
        {
        hashTable[array]=array;
        }
        for(int i=0;i <array.length;i )
        {
        //如果是数对中较小的整数(防止重复计数)
        //并且配对的整数存在
                //并且不等于与之配对的整数,因数列不存在重复整数
                if(array <=(N 1)/2&&hashTable[N 1-array]!=0&&array*2!=N 1)
        {
            count ;
        }
        }
    return count;
    }
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

您是否知道,生成式 AI(GenAI)可以帮助工程师在几秒钟内诊断汽车故障,甚至在设备出现问题之前预测潜在失效?GenAI 正在通过加速数据分析和算法开发,让这些场景从设想走向现实,使工程师能够充分发挥专业知识,挖掘可执...

关键字: 生成式 AI 数据分析 算法

中国,2026年1月22日​—— 服务多重电子应用领域、全球排名前列的半导体公司意法半导体 (STMicroelectronics,简称ST;纽约证券交易所代码:STM) 荣登2026年全球百强创新机构榜单。这份由全球知...

关键字: 传感器 算法 边缘人工智能

中国 上海,2025年12月31日——中国领先的高性能专用SoC芯片供应商泰矽微(Tinychip Micro)近日宣布推出基于TCAE10触摸芯片的新一代汽车触控门把手完整解决方案。该方案针对电容式门把手在复杂流水环境...

关键字: 芯片 算法 触控门把手

随着人工智能技术的发展,光子领域的各项科技成果转化正如火如荼进行中。12月9日好望角科学沙龙在上海举办的光子专场活动,科学家、科技企业创始人、投资机构负责人等逾百人共同探讨如何更好地赋能光子领域科技成果转化。专家认为,科...

关键字: 算法 硬科技 光子科技

为了应对量子计算的最终问世,数字基础设施必须完成向后量子密码学(PQC)的过渡,这是一项至关重要的准备工作。美国国家标准与技术研究院(NIST)已选定CRYSTALS-Kyber、CRYSTALS-Dilithium等算...

关键字: 量子计算 算法 嵌入式系统

在人工智能硬件加速领域,FPGA凭借其可重构计算架构和低延迟特性,成为深度神经网络(DNN)部署的核心平台。与传统GPU的固定计算流水线不同,FPGA通过动态配置硬件资源,可实现从卷积层到全连接层的全流程优化。本文将从算...

关键字: FPGA DNN 算法

在FPGA上实现最大公约数(GCD)计算时,传统减法器结构存在资源利用率低、时序路径长等问题。本文针对欧几里得算法的减法核心,提出基于流水线减法器阵列和符号位预判的优化策略,在Xilinx Artix-7 FPGA上实现...

关键字: FPGA 算法

在工业控制系统中,Modbus RTU协议的CRC校验如同通信网络的"免疫系统",某石化厂DCS系统曾因CRC计算错误导致0.3%的数据包丢失,引发连锁控制故障。本文将深入解析CRC-16/MODBUS算法原理,对比软件...

关键字: Modbus RTU CRC 算法

加密算法分对称加密和非对称算法,其中对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同,此外,还有一类不需要密钥的散列算法。

关键字: 算法 嵌入式

在现代数字系统设计中,将算法高效地转化为 RTL(寄存器传输级)实现是 FPGA 工程师的核心任务之一。这一过程不仅需要对算法有深入理解,还需掌握 FPGA 的硬件特性和设计技巧。本文将详细介绍从算法到 RTL 实现的关...

关键字: 算法 寄存器传输级 数字系统
关闭