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

Leetcode 刷题记录 21 —— 技巧

Leetcode 刷题记录 21 —— 技巧

本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答,01~07为C++语言,08及以后为Java语言,一共为 01~21,本系列全部结束。

01 只出现一次的数字

在这里插入图片描述

在这里插入图片描述

class Solution {public int singleNumber(int[] nums) {int result = 0;for(int num : nums){result ^= num;}return result;}
}

位运算

在这里插入图片描述

02 多数元素

在这里插入图片描述

在这里插入图片描述

class Solution {public int majorityElement(int[] nums) {Map<Integer, Integer> map = new HashMap<>();int n = nums.length;int ans = 0;for(int num : nums){if(!map.containsKey(num)){map.put(num, 1);}else{map.put(num, map.get(num) + 1);}}for(int num : nums){if(map.get(num) > (n/2)){ans = num;break;}}return ans;}
}

03 颜色分类

在这里插入图片描述

在这里插入图片描述

class Solution {public void sortColors(int[] nums) {int n = nums.length;int ptr = 0;//第一次遍历,将0交换到头部for(int i=0; i<n; i++){if(nums[i] == 0){int temp = nums[ptr];nums[ptr] = nums[i];nums[i] = temp; ptr++;}}//第二次遍历,将1交换到0之后for(int i=ptr; i<n; i++){if(nums[i] == 1){int temp = nums[ptr];nums[ptr] = nums[i];nums[i] = temp; ptr++;}}}
}

04 下一个排列

在这里插入图片描述

在这里插入图片描述

class Solution {public void nextPermutation(int[] nums) {int len = nums.length;//特殊情况判断if(nums == null || nums.length < 2){return;}int i = len -2, j = len - 1, k = len - 1;while(i >= 0 && nums[i] >= nums[j]){i--;j--;}if(i >= 0){while(nums[i] >= nums[k]){k--;}int temp = nums[i];nums[i] = nums[k];nums[k] = temp;}int left = j, right = len - 1;while(left < right){int temp = nums[left];nums[left] = nums[right];nums[right] = temp;left++;right--;}}
}
http://www.dtcms.com/a/378789.html

相关文章:

  • 卷积神经网络CNN-part5-NiN
  • 散斑深度相机原理
  • 中元的星问
  • 使用 NumPy 读取平面点集并分离列数据
  • uni-app + Vue3 开发展示 echarts 图表
  • uni-app 网络请求封装实战:打造高效、可维护的HTTP请求框架
  • AppTest邀请测试测试流程
  • C#地方门户网站 基于NET6.0、Admin.NET,uniapp,vue3,elementplus开源的地方门户网站项目
  • 苹果上架全流程详解,iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核要点完整指南
  • PyTorch之张量创建与运算
  • Python爬虫实战:研究GUI 可视化界面,构建电商数据采集和分析系统
  • 对浏览器事件机制的理解
  • JavaWeb05
  • 浅聊一下ThreadLocal
  • 部署大模型的极简笔记
  • linux面试题记录
  • 深度解码OpenAI的2025野心:Codex重生与GPT-5 APIKey获取调用示例
  • 文献阅读笔记:脉冲神经网络最新文献合集-IV
  • STM32学习路线开启篇:芯片简介与课程简介
  • 第七章 ELK Stack高级应用与集成
  • 认识跨平台UI框架Flutter和MAUI区别,如何选。
  • 9.11-QT-QT的基本使用
  • 线程安全相关的注解
  • [超表面论文快讯-242] PR-微波超四元数涡旋阵列洛书加权锁定成像加密-江南大学王继成、上海科技大学王雄团队
  • 质量特性工程
  • 性能测试-jmeter10-分布式测试
  • Java中方法重写与重载的区别
  • 【代码随想录算法训练营——Day9】字符串——151.翻转字符串里的单词、卡码网:55.右旋转字符串、28.实现 strStr()、459.重复的子字符串
  • 少儿舞蹈小程序(13)作品播放量累加及点赞
  • 【AI知识点】模型训练优化之——混合精度训练