Offer68题 Day1

news/2024/10/20 16:35:06

LCR 120. 寻找文件副本

class Solution { // offer 03
public:int findRepeatDocument(vector<int>& documents) { // 方法:哈希表,查找元素是否存在unordered_set<int> vsi;for(int i=0;i<documents.size();i++){if(vsi.count(documents[i])){return documents[i];} // count()>0说明已经出现过vsi.insert(documents[i]);  // set中没有就放入}return -1;  // 时间O(n) , 空间O(n),n为doc.size()}
};//////////////////////////////////////////////////////////////////////
// 排序后,判断相邻是否相等?时间O(nlog),空间O(logn)
class Solution {
public:int findRepeatDocument(vector<int>& documents) {sort(documents.begin(),documents.end());for(int i=0;i<documents.size();i++){if(documents[i]==documents[i+1]){return documents[i];}}return -1;}
};

240. 搜索二维矩阵 II

class Solution {  // 从左下开始找,时间O(m+n),mn问matrix行数列数,空间O(1)
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int i=matrix.size()-1;   // 最后一行int j=0;                 // 第一列while(i>=0 && j<matrix[0].size()){if(matrix[i][j]==target) return true;else if(matrix[i][j]>target) i--;   // 说明右边都比target大,往上一行找else j++;                           // < 要往右边找}return false;}
};/*
vector<vector<int>> matrix = {{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12}
};matrix.size() 将返回 3,因为有三行。
matrix[0].size() 将返回 4,因为第一行有四个元素。
*/

LCR 122. 路径加密(单个字符替换)

class Solution {
public:string pathEncryption(string path) {string ans=path;  // 创建path副本for(auto& c:ans){if(c=='.'){ c=' ';}}return ans;}
};

类似:面试题 05. 替换空格 (多个字符替换)

题目描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
#include <iostream>
#include <string>
using namespace std;class Solution {
public:string replaceSpace(string s) {string ans;for (const char& c : s) {               // 遍历输入字符串 sif (c == ' ') {	ans += "%20"; } // 替换空格为 "%20"else { ans += c; }              // 其他字符直接追加到string}return ans;}
};int main() {const string s = "We are happy.";Solution sol;const string result = sol.replaceSpace(s);cout << result << endl; // 输出: "We%20are%20happy."return 0;
}

LCR 123. 图书整理 I 或 从尾到头打印链表

/*** 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:vector<int> reverseBookList(ListNode* head) {vector<int> result;ListNode* curr=head;while(curr!=nullptr){result.push_back(curr->val);curr=curr->next;}reverse(result.begin(),result.end());return result;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73857.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

td导航zlibrary镜像入口及国内可访问地址

TD导航是一个综合性的网址导航网站,它致力于为用户提供便捷、高效的上网体验。在这个平台上,用户可以轻松找到各类热门网站和实用工具,无论是新闻资讯、社交娱乐、购物消费,还是学习教育、工作办公等领域,TD导航都提供了丰富的资源链接。 TD导航的界面设计简洁明了,分类清…

20222422 2024-2025-1 《网络与系统攻防技术》实验二实验报告

一.实验内容 (1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定) PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或soc…

2024-2025-1(20241321)《计算机基础与程序设计》第四周学习总结

这个作业属于哪个课程 <班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <了解并学习AI功能,回顾一周课程心得>作业正文 ... 本博客链接https://www.cnblo…

『模拟赛』多校A层冲刺NOIP2024模拟赛09(更新 T4)

『模拟赛记录』多校A层冲刺NOIP2024模拟赛09Rank 还行A. 排列最小生成树 (pmst) 签,有点可惜。 考虑连 \(i\) 与 \(i+1\) 时,所有边边权都是小于 \(n\) 的,因此我们只考虑边权小于 \(n\) 的边即可。因为边权为 \(|p_i-p_j|\times|i-j|\),所以只考虑 \(|p_i-p_j|\lt \sqrt{n…

云原生架构视图

关于云原生的概念,业内有没有统一的定义,比较主流的还是CNCF(Cloud Native Computing Foundation,云原生计算基金会)对云原生的定义。原文如下: Cloud native technologies empower organizations to build and run scalable applications in public, private, and hybrid …

2024-2025-1 20241328 《计算机基础与程序设计》第四周学习总结

学期(如2024-2025-1) 学号20241428《计算机基础与程序设计》第4周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标…

dynamics 365 op需要如何配置权限,才可以导入数据

1、dynamics 365 op已经给了导入权限,且有记录的创建权限,但是一直没有导入按钮。2、后来发现当前人必须又导入数据的【删除】权限,才能有导入按钮。 记得收藏并关注,掌握更多相关知识!!!