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

打开hot100

128. 最长连续序列 - 力扣(LeetCode)

class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> ust(nums.begin(), nums.end());int len = 0;for(auto x : nums){if(ust.contains(x -1)){continue;} int y = x + 1;while(ust.contains(y)){y++;}  len = max(len, y - x);if(len * 2 > ust.size()) break;}return len;}
};

2. 两数相加 - 力扣(LeetCode)

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* dummy = new ListNode();ListNode* cur = dummy;int carry = 0; // 进位while(l1 || l2 || carry){if(l1){carry += l1->val;l1 = l1->next;}if(l2){carry += l2->val;l2 = l2->next;}cur->next = new ListNode(carry % 10);carry /= 10;cur = cur->next;}return dummy->next;}
};

79. 单词搜索 - 力扣(LeetCode)

class Solution {public:bool exist(vector<vector<char>>& board, string word) {int m = board.size();int n = board[0].size();for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(dfs(board, word, 0, i, j)) return true;}}return false;}
private:bool dfs(vector<vector<char>>& board, string & word, int idx, int i, int j){int m = board.size();int n = board[0].size();if(i < 0 || i >= m || j < 0 || j >= n) return false;if(board[i][j] != word[idx]) return false;if(idx == word.size() - 1) return true;char saved = board[i][j];board[i][j] = '#';bool found = dfs(board, word, idx + 1, i + 1, j) ||dfs(board, word, idx + 1, i - 1, j) ||dfs(board, word, idx + 1, i, j + 1) ||dfs(board, word, idx + 1, i, j - 1);board[i][j] = saved;return found;}
};

http://www.dtcms.com/a/391204.html

相关文章:

  • Ant-Design Table中使用 AStatisticCountdown倒计时,鼠标在表格上移动时倒计时被重置
  • Linux crontab 定时任务工具使用
  • 阿里云RDS mysql8数据本地恢复,与本地主从同步(容器中)
  • 记录一次mysql启动失败问题解决
  • LeetCode算法练习:35.搜索插入位置
  • (1) 为什么推荐tauri框架
  • 嵌入式面试高频(八)!!!C++语言(嵌入式八股文,嵌入式面经)
  • Spring AI开发指导-工具调用
  • Linux 基本命令超详细解释第二期 | touch | cat | more | cp | mv | rm | which | find
  • [x-cmd] 安装指南
  • Altium Designer(AD24)原理图Move移动功能详细介绍图文教程
  • 部署java程序,服务器报403 Forbidden 问题的终极解决方案
  • 【LeetCode】链表经典问题解析:环形、回文与相交
  • 电磁超材料及其领域应用优势
  • STM32与Modbus RTU协议实战开发指南-fc3ab6a453
  • ArrayList 与 LinkedList 深度对比:从原理到场景的全方位解析
  • Ubuntu和windows复制粘贴互通
  • 银行回单 OCR 识别:财务自动化的 “数据入口“
  • 深兰科技陈海波的AI破局之道:打造软硬一体综合竞争力|《中国经营报》专访
  • 面试经验之mysql高级问答深度解析
  • 高质量票据识别数据集:1000张收据图像+2141个商品标注,支持OCR模型训练与文档理解研究
  • 嵌入式音视频开发——FFmpeg入门
  • MySQL索引篇---B+树在索引中的工作原理
  • 强化学习训练-数据处理
  • VirtualBox为ubuntu系统设置共享文件夹
  • Python实战进阶》No.41: 使用 Streamlit 快速构建 ML 应用
  • Salesforce 执行顺序(Order of Execution)详解
  • Linux内核进程管理子系统有什么第五十七回 —— 进程主结构详解(53)
  • Vue 记账凭证模块组件
  • ORACLE-数据库闪回