![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
寒塘独恪
这个作者很懒,什么都没留下…
展开
-
Leetcode136-只出现一次的数字
题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例输入: [2,2,1]输出: 1思路这道题的解法很多,这里我只想用位运算解决。用按位亦或(^),当两个二进制相同位数都为1或0是那么就是0,否则为1,利用性质:a^a=0;0^a=a;比如说有数字:1 2 1 2 3,那么1 ^ 2 ^ 1 ^ 2 ^ 3=3代码...原创 2019-02-27 16:17:21 · 86 阅读 · 0 评论 -
Leetcode762-二进制表示中质数个计算置位
题目描述给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 111 (3 个计算置位,3 是质数)9...原创 2019-02-27 16:01:03 · 164 阅读 · 0 评论 -
Leetcode389-2的幂
题目描述给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例输入: 1输出: true输入: 16输出: true代码一class Solution {public: bool isPowerOfTwo(int n) { return n>0&&(1<<30)%n==0; }};1&lt...原创 2019-02-27 15:23:25 · 84 阅读 · 0 评论 -
leetcode392. 判断子序列
题目描述给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1s =...原创 2020-01-15 13:37:30 · 102 阅读 · 0 评论 -
Leetcde650-只有两个键的键盘
题目描述最初在一个记事本上只有一个字符 ‘A’。你每次可以对这个记事本进行两种操作:1、Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。2、Paste (粘贴) : 你可以粘贴你上一次复制的字符。给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印出恰好 n 个 ‘A’。输出能够打印出 n 个 ‘A’ 的最少操作次数。示例输入: 3...原创 2019-03-13 18:08:50 · 186 阅读 · 0 评论 -
Leetcode168-Excel Sheet Column Title
题目描述给定一个正整数,要求返回其对应的在Excel表格中显示的列标题。示例输入1,返回A输入2,返回B…输入26,返回Z输入27,返回AA输入28,返回AB思路10进制转26进制。代码class Solution {public: string convertToTitle(int n) { string res; while(n) {...原创 2019-03-05 14:21:08 · 91 阅读 · 0 评论 -
Leetcode458-可怜的小猪
题目描述有 1000 只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在 15 分钟内死去。问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?思路先考虑有一头猪的情况:60分钟的话,它最多可以判断出 60/15+1 = 5只水桶中的毒药桶。每隔十五分钟喝一次水,喝四次,如果幸运的话活了下来,就是最后一桶。注:题目中...原创 2019-03-11 17:43:32 · 439 阅读 · 0 评论 -
Leetcode462-最少移动次数使数组元素相等 II
题目描述给定一个数组,都是整数。给定一种操作,每次能够使得数组中的任意一个数加一或者减一。问最少多少次操作能够使得数组中的元素大小相等。示例输入:[1,2,3]输出:2说明:只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1)。思路首先对整个数组排序。想象数组中的每一个数都在数轴上,最终我们数组中的值为x.那么所需要求解的就是数组中的每一个数到达x的距离和最小。根据绝...原创 2019-03-11 09:26:32 · 1265 阅读 · 0 评论 -
Leetcode343-整数拆分
题目描述给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例一输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例二输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。思路1、当数n小于3时,直接就是n-1;2、当数字n大于3时,显然1不会出现在其中;3...原创 2019-03-13 17:08:51 · 195 阅读 · 0 评论 -
反转字符串中的单词
题目描述给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。输入长度为n的字符串,1 ≤ n ≤ 1000。输出反转后的字符串示例输入:Let’s take this contest输出:s’teL ekat siht tsetnoc思路需要用到sstream库和reverse()函数。stringstream可以去掉空格,reverse...原创 2019-02-26 16:49:59 · 85 阅读 · 0 评论 -
AcWing1265. 数星星
题目天空中有一些星星,这些星星都在不同的位置,每个星星有个坐标。如果一个星星的左下方(包含正左和正下)有 k 颗星星,就说这颗星星是 k 级的。例如,上图中星星 5 是 3 级的(1,2,4 在它左下),星星 2,4 是 1 级的。例图中有 1 个 0 级,2 个 1 级,1 个 2 级,1 个 3 级的星星。给定星星的位置,输出各级星星的数目。换句话说,给定 N 个点,定义每个点的...原创 2020-04-04 20:37:09 · 206 阅读 · 0 评论 -
AcWing 1295. X的因子链
题目描述输入正整数 X,求 X 的大于 1 的因子组成的满足任意前一项都能整除后一项的严格递增序列的最大长度,以及满足最大长度的序列的个数。输入格式输入包含多组数据,每组数据占一行,包含一个正整数表示 X。输出格式对于每组数据,输出序列的最大长度以及满足最大长度的序列的个数。每个结果占一行。数据范围1≤X≤2^20输入样例:23410100输出样例:1 11 1...原创 2020-03-28 20:35:46 · 230 阅读 · 0 评论 -
AcWing 92.递归实现指数型枚举
题目描述从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。输入样例:3输出样例:322 311 31 21 2 3代码这道题要求同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。且行与行之间的排序...原创 2020-03-23 20:17:16 · 205 阅读 · 0 评论 -
next_permutation
题目描述有四张卡片,每张卡片上都有一个数字(数字可能相同)用这四张卡片可以排成很多不同的4位数。按从小到大的顺序输出这些4位数。输入四个整数,分别表示四张卡片上的数字(1 ≤ 数字 ≤ 9)。输出对每组卡片排列的结果按升序输出全排列,每两个输出结果之间用空格隔开。示例输入:1 1 2 3输出:1123 1132 1213 1231 1312 1321 2113 2131 2311 ...原创 2019-02-19 09:56:57 · 224 阅读 · 0 评论 -
AcWing 1209. 带分数
题目描述代码1、暴力枚举出9个数的全排列,然后用一个长度为9的数组保存全排列的结果2、从全排列的结果中用两重循环暴力分解出三段,每段代表一个数3、验证枚举出来的三个数是否满足题干条件,若满足则计数#include<bits/stdc++.h>using namespace std;int n,a[10],book[10],count1=0;int cal(int x,...原创 2020-03-25 17:53:57 · 174 阅读 · 0 评论 -
AcWing1264. 动态求连续区间和
题目描述给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b] 的连续和。输入格式第一行包含两个整数 n 和 m,分别表示数的个数和操作次数。第二行包含 n 个整数,表示完整数列。接下来 m 行,每行包含三个整数 k,a,b (k=0,表示求子数列[a,b]的和;k=1,表示第 a 个数加 b)。数列从 1 开始计数。输出格式输出若干行数字,表示 ...原创 2020-04-03 15:17:29 · 164 阅读 · 0 评论 -
01字串
题目描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入无输出输出32行,按从小到大的顺序每行一个长度为5的01串。思路输出的最大五位数是11111,是31的二进制,所以一个比较好的思路就是从小到大输出0-31的二进制数。代码...原创 2019-02-04 10:13:28 · 242 阅读 · 0 评论 -
94. 递归实现排列型枚举
题目描述把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1代码#...原创 2020-03-24 17:06:56 · 187 阅读 · 0 评论 -
十六进制转八进制
题目描述给定n个十六进制正整数,输出它们对应的八进制数。输入输入的第一行为一个正整数n (1<=n<=10)。接下来n行,每行一个由0-9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出输出n行,每行为输入对应的八进制正整数。例如输入:239123ABC输出:714435274思路先将十六进制转换为十进...原创 2019-02-07 08:57:30 · 444 阅读 · 0 评论 -
AcWing1246. 等差数列
题目描述样例输入:52 6 4 10 20输出:10代码思路:先对数列进行升序排序,之后求取相邻两个数之间的公差的最大公约数即可。最后利用公式(a[n-1]-a[0])/d+1,即可算出个数#include<bits/stdc++.h>using namespace std;const int N=100010;int a[N];int gcd(int ...原创 2020-04-02 10:59:38 · 161 阅读 · 0 评论 -
AcWing 1208. 翻硬币
题目描述代码递推问题:当前数组与目标数组比较对应位置如果不一样,就改变这个和下一个。#include<bits/stdc++.h>using namespace std;string a,b;int count1=0;void turn(char x){ if(a[x]=='*') a[x]='o'; else a[x]='*'; ret...原创 2020-03-26 16:19:46 · 114 阅读 · 0 评论 -
激光样式
题目描述x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。要...原创 2020-04-06 10:27:35 · 532 阅读 · 0 评论 -
Leetcode349-两个数组的交集
题目描述给定两个数组,编写一个函数来计算它们的交集。示例输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]输入第一行两个整数n,m,分别为num1,num2的长度(1 ≤ n, m ≤ 100)第二行n个整数,代表数组nums1第三行m个整数,代表数组nums2输出按交集元素在num2中的顺序输出两数组的交集。输出结果...原创 2019-02-01 10:23:35 · 125 阅读 · 0 评论 -
Leetcode859-亲密字符串
题目描述给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。示例一输入: A = “ab”, B = “ba”输出: true示例二输入: A = “ab”, B = “ab”输出: false示例三输入: A = “aa”, B = “aa”输出: true示例四...原创 2019-02-12 10:20:28 · 164 阅读 · 0 评论 -
Leetcode53-最大子序列和
题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路从头开始计算,一旦出现子序列和小于0的情况,就重新开始(sum=0),因为前面的和为负数的话,后面与它相加会变小。代码class Solu...原创 2019-02-22 18:34:38 · 629 阅读 · 0 评论 -
D进制的A+B
题目描述输入两个非负10进制整数A和B,输出A+B的D (1 &lt; D &lt;= 10)进制数。输入A B D输出A+B的D (1 &lt; D &lt;= 10)进制数。例如输入:2 4 2输出:110代码#include&lt;vector&gt;using namespace std;int main(){ int A,B,C,D,count; vec...原创 2019-01-31 12:02:36 · 259 阅读 · 0 评论 -
Leetcode849-到最近人的最近距离
题目描述在一排座位中,1 代表有人坐在座位上,0 代表座位上是空的。至少有一个空座位,且至少有一人坐在座位上。亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。输出他到离他最近的人的最大距离。示例 1:座位:[1,0,0,0,1,0,1] 输出:2解释:如果亚历克斯坐在第二个空位(seats[2])上,他到离他最近的人的距离为 2 。如果亚历克斯坐在其它任何一个空位...原创 2019-01-31 10:24:12 · 304 阅读 · 0 评论 -
Leetcode3-无重复字符的最长子串
题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。注意:子串一定是连续的一段。子序列不一定是连续的一段,但下标要求是递增的示例一输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例二输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例三输入:...原创 2019-02-16 16:26:17 · 111 阅读 · 0 评论 -
Leetcode77-组合
题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]思路深度优先搜索。递归终止条件是数组大小=k。每层枚举第 u 个数选哪个,一共枚举 k 层。记录一个值 start,表示当前数需要从几开始选,然后进行搜索。代码cl...原创 2019-02-10 10:20:03 · 139 阅读 · 0 评论 -
Leetcode784-字母大小写全排列
题目描述给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例一输入: S = “a1b2”输出: [“a1b2”, “a1B2”, “A1b2”, “A1B2”]示例二输入: S = “3z4”输出: [“3z4”, “3Z4”]示例三输入: S = “12345”输出: [“12345”]思路...原创 2019-02-08 20:55:45 · 153 阅读 · 0 评论 -
Leetcode575-分糖果
题目描述给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。输出妹妹可以获得的最大糖果的种类数。示例一输入: candies = [1,1,2,2,3,3] 输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。...原创 2019-02-01 16:06:17 · 208 阅读 · 0 评论 -
Leetcode463-岛屿的周长
题目描述给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例...原创 2019-02-01 11:13:09 · 242 阅读 · 0 评论 -
Leetcode6-Z字形变换
题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O&原创 2019-02-13 11:46:32 · 166 阅读 · 0 评论