C++
逼疯代码
这个作者很懒,什么都没留下…
展开
-
leetcode题目记录--1177. 构建回文串检测
1177. 构建回文串检测难度:中等给你一个字符串s,请你对s的子串进行检测。每次检测,待检子串都可以表示为queries[i] = [left, right, k]。我们可以 重新排列 子串s[left], ..., s[right],并从中选择 最多 k项替换成任何小写英文字母。如果在上述检测过程中,子串可以变成回文形式的字符串,那么检测结果为true,否则结果为false。返回答案数组answer[],其中answer[i]是第i个待检子串querie...原创 2020-06-16 21:16:07 · 187 阅读 · 0 评论 -
leetcode打卡-面试题64. 求1+2+…+n
面试题64. 求1+2+…+n难度:中等求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出:6示例 2:输入: n = 9输出:45思路1:运用逻辑与的短路效应。对于a && b,如果a为false,直接跳过对b的操作。通过这个效应,可对递归的结束条件进行判定。class Solution {public: int su..原创 2020-06-03 12:48:24 · 182 阅读 · 0 评论 -
leetcode打卡-面试题 01.05. 一次编辑
面试题 01.05. 一次编辑难度:中等字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例1:输入:first = "pale"second = "ple"输出: True示例2:输入:first = "pales"second = "pal"输出: False思路:只允许有一个字符发生变化,首先通过长度只差,大于2则可以直接返回false。通过比对字符串中字符是否相等,...原创 2020-05-30 16:00:53 · 161 阅读 · 1 评论 -
leetcode打卡--198. 打家劫舍
198. 打家劫舍难度:容易你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1...原创 2020-05-29 09:47:29 · 115 阅读 · 0 评论 -
单链表的环的入口节点
步骤一:判断是否有环。快慢指针:一个走一步,一个走两步。最终能相遇就有环。步骤二:查找环的入口节点。方法1:先计算环的大小,从之前的相遇点一个指针走两步,一个指针走一步。再次相遇时慢指针的路程n就是环的节点个数。然后两个指针从链表头出发,一个先走n步,另一个在表头。速度一样,都是走一步,当两者相遇时的节点就是环入口。分析:令链表总长度为r,则先走n步的指针到达链表尾(即第二...原创 2020-02-26 17:04:05 · 297 阅读 · 0 评论 -
leetcode打卡--287. 寻找重复数
287. 寻找重复数难度:中等给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。思路:查找...原创 2020-05-26 09:22:48 · 291 阅读 · 0 评论 -
leetcode每日打卡-5. 最长回文子串
5. 最长回文子串难度:中等给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路1:暴力求解,分为奇偶数个字符。分别对每个字符为中心往两边进行判断,单个为中心和两个为中心。手写第一版,很繁琐。//暴力求解class Solution {public: string longestP原创 2020-05-21 19:33:10 · 176 阅读 · 0 评论 -
leetcode-每日打卡-1371. 每个元音包含偶数次的最长子字符串
1371. 每个元音包含偶数次的最长子字符串难度:中等给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisgreat"输出:5解释:最长子字符串是原创 2020-05-21 12:44:26 · 238 阅读 · 0 评论 -
leetcode每日打卡-----680. 验证回文字符串 Ⅱ
自我监督,工作之余每日打卡。希望能一直坚持!!!leetcode题库首页每日一题。给定一个非空字符串s,最多删除一个字符。判断是否能成为回文字符串。680. 验证回文字符串 Ⅱ难度:简单示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。思路:判断回文数的方法,最后一个和第一个相等,依次往中间推,全部对称相等即是。本题中可以删除一个字符来尝试字符串能否变成回文字符串。即依次对称进行判断,第一次遇到不行.原创 2020-05-19 20:36:08 · 163 阅读 · 0 评论 -
C++ namespace的用法
1、提出原因程序中会使用多个文件或者程序由多个程序员合作完成,如果有多个重名的变量存在全局命名空间中,这将引发命名空间污染。通过建立多个命名空间对重名变量进行一定修饰,以消除名字冲突问题。2、namespace的创建2.1 有名命名空间namespace name(用户自定义){ 变量、函数等等}2.2 无名命名空间namespace{ 变量、函数等}对于无名命名空间,主要是对本地文件进行限制,如namespace{ int a=0;原创 2020-05-19 15:43:48 · 587 阅读 · 0 评论 -
C++ istringstream对包含空格的字符串进行切分
对于如dog cat cat dog这类字符串,想将字符串中每个单词,如单个的dog保存起来,可直接使用istringstream进行处理,处理方法如下:istringstream str(save);其中save为带空格字符串,str为字符串流完整代码如下:#include<sstream>#include<iostream>#includ...原创 2020-03-24 10:10:41 · 739 阅读 · 0 评论 -
C++一次性输入连续带空格的数据,以enter键结束
环境:VS2013对于未知数量的数组,不方便使用循环进行输入,因为默认空格为一次输入结束,如2 4 5 67 7 8如何仅使用一次enter便可输入所有的数据,并保存在数组中。代码如下:vector<int> nums; int k = 0; while (cin >> k) { nums.push_back...原创 2020-02-21 10:57:53 · 3361 阅读 · 0 评论 -
牛客网-剑指offer-最后一题-机器人的运动范围
题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路当前能够到达的格子是由前一...原创 2019-08-20 16:58:07 · 144 阅读 · 0 评论