当前位置: 首页 > backend >正文

算法题记录01:

01.消失的数字

缺点:排序的复杂度。

缺点:n太大存在整数溢出风险。

思路3:异或:相同为0,相异为1。

✅ 数学原理(异或性质)

  • 任何数和自身异或结果为 0:a ^ a = 0

  • 任何数和 0 异或结果是它本身:a ^ 0 = a

(​多位整数的异或是按位运算,每一位都独立地遵循单位异或的真值表)

a   = 11010110
0   = 00000000
a^0 = 11010110

  • 异或满足交换律和结合律:a ^ b ^ c = c ^ a ^ b

  • 相同的数异或后为0

具体实现:

第一步:异或数组中实际存在的数字

第二步:异或应该出现的所有数字(0 到 numsSize)

[nums[0],nums[i]]

[0,N]

本质:       

         0         ^         数组里本应该存在的         ^         数组里实际存在的

                (原理:交换律    且        相同的数异或后为0)

两两一对,则最后剩下的那个数(单独的)就是答案。



02.轮转数组

思路一.

真实的旋转次数k=k%N 

总共移动:

1到k,共k次

每次移动:

先保存最后一位,再依次右边移动其他位,一共移动(N-2)次。最后把最后一位放到第一位。(下标   0-N-2)

| 写法    | 含义       | 循环控制表达式里实际用哪个值  |
| `i--` | **先用后减** | 用 `i` 的旧值,再减 1  |
| `--i` | **先减后用** | 先把 `i` 减 1,再用新值 |

思路二:

http://www.xdnf.cn/news/18705.html

相关文章:

  • 8月25日
  • 专题:2025人工智能2.0智能体驱动ERP、生成式AI经济现状落地报告|附400+份报告PDF、原数据表汇总下载
  • [论文阅读]RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation
  • k8s的etcd备份脚本
  • AR技术赋能农业机械智能运维
  • 电机控制::基于编码器的速度计算与滤波::RLS
  • 【C++】第二十六节—C++11(中) | 右值引用和移动语义(续集)+lambda
  • Linux_用 `ps` 按进程名过滤线程,以及用 `pkill` 按进程名安全杀进程
  • 机器学习-大语言模型Finetuning vs. Prompting
  • 大型语言模型基准测试综述《A Survey on Large Language Model Benchmarks.pdf》核心内容总结
  • 京东前端社招面经
  • 多维度指标交叉计算查询方案
  • 【芯片后端设计的灵魂:Placement的作用与重要性】
  • 6、RocketMQ消息积压问题如何解决
  • Python爬虫实战:Selenium模拟操作爬取马蜂窝旅游攻略
  • 数据挖掘 6.1 其他降维方法(不是很重要)
  • redis----list详解
  • 深度学习入门第一课——神经网络实现手写数字识别
  • 读《精益数据分析》:A/B测试与多变量测试
  • 【栈 - LeetCode】739.每日温度
  • [Java恶补day51] 46. 全排列
  • 无人机芯片休眠模式解析
  • 关于传统的JavaWeb(Servlet+Mybatis)项目部署Tomcat后的跨域问题解决方案
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(19):文法复习+单词第7回1
  • 基于知识图谱的装备健康智能维护系统KGPHMAgent
  • C++ #pragma
  • 少儿舞蹈小程序需求规格说明书
  • 【Hot100】二分查找
  • Fluent Bit系列:字符集转码测试(上)
  • 使用 Prometheus 监控服务器节点:Node Exporter 详解与配置