leetcode
文章平均质量分 57
记录一路走来刷题的过程,leetcode,pta,牛客
x.h.z
build yourself
展开
-
LeetCode 子串 子数组 系列题目总结
动态规划问题原创 2022-06-30 20:45:58 · 628 阅读 · 0 评论 -
LeetCode专栏之动态规划部分
0 - 1背包问题2022年5月17日,来看下硬币https://leetcode.cn/problems/coin-lcci/ 问题,其实就是一个0-1背包问题class Solution {public: int waysToChange(int n) { // 0-1背包 int dp[n+1]; fill(dp,dp+n+1,0); int coins[] = {1,5,10,25}; for (int原创 2022-05-17 19:38:24 · 193 阅读 · 0 评论 -
leetcode463(岛屿周长)
给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1.原创 2020-06-08 13:59:07 · 240 阅读 · 0 评论 -
leetcode695(岛屿最大面积)
给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0.原创 2020-06-08 13:51:15 · 310 阅读 · 0 评论 -
leetcode220(岛屿数量)
leetcode220(岛屿数量)给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成。解题报告:很典型的深度优先搜索题,需要依次原创 2020-06-08 13:41:13 · 208 阅读 · 0 评论 -
leetcode17(letter-combinations-of-a-phone-number)
class Solution {public: vector<string> letterCombinations(string digits) { if(digits=="") return vector<string>(); //用数组存储号码键对应的字符串,下标代表号码键的数字 string res[10] ...原创 2020-01-31 16:23:39 · 151 阅读 · 0 评论 -
PAT-A1018
1018 Public Bike Management (30分)There is a public bike service in Hangzhou City which provides great convenience to the tourists from all over the world. One may rent a bike at any station and retur...原创 2020-01-10 13:35:54 · 161 阅读 · 0 评论 -
PAT-1003-Emergency
#include <iostream>using namespace std;#define INF 10000000int N,M,C1,C2,c1,c2,L = 0;int m[500][500],dis[500],team[500],res[500],path[500];bool vis[500] = {false};void Dijikstra(int begin...原创 2020-01-09 18:02:35 · 188 阅读 · 0 评论 -
HD1004(Let the Balloon Rise)
Problem DescriptionContest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges’ favorite time is guessing the most popular problem. When the contest is...原创 2019-10-31 21:07:02 · 162 阅读 · 0 评论 -
HD1003-MaxSum
Problem DescriptionGiven a sequence a[1],a[2],a[3]…a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = ...原创 2019-10-30 23:30:02 · 165 阅读 · 0 评论 -
剑指offer(跳台阶)
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。class Solution {public: int jumpFloor(int number) { //尾递归 if (number <= 2) { return number; } ...原创 2019-10-30 18:53:15 · 89 阅读 · 0 评论 -
leetcode349两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。class Solution {public: v...原创 2019-10-22 22:56:20 · 105 阅读 · 0 评论 -
剑指offer(替换空格)
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。void replaceSpace(char *str, int length){ //记录空格出现的个数,申请一个等长的数组,用来暂时存储原数组 int times = 0; char sstr[length];...原创 2019-10-21 12:34:00 · 115 阅读 · 0 评论 -
leetcode_32删除排序链表重复元素
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3来源:力扣(LeetCode)/** * Definition for sin...原创 2019-10-16 22:23:20 · 120 阅读 · 0 评论 -
A1004 Counting Leaves
A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.Input Specification:Each input file contains one test case. Each case starts w...原创 2019-09-24 06:41:51 · 186 阅读 · 0 评论 -
A1094(The Largest Generation)
A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population.Input S...原创 2019-09-15 22:29:38 · 241 阅读 · 0 评论 -
leetcode114.二叉树转为链表
//二叉树转链表//思路:每次找到根结点上左子树上最右边的结点ltemp,将此时的根结点的右子树接到上面去,根结点左移,如果根结点左子树为空,但是右子树不为空,就右移,重复上面步骤,否则就退出void flattern(TreeNode *root){ if (!root) { return; } TreeNode *cur = root; TreeNode *rtemp...原创 2019-08-31 21:55:03 · 477 阅读 · 0 评论 -
B1005(德才论)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入描述:输入第1行给出3个正整数,分别为:N(<=105),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L...原创 2019-07-17 23:09:47 · 241 阅读 · 0 评论 -
leetcode-443-字符串压缩
来自力扣第443题"压缩字符串"给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度示例 1:输入:[“a”,“a”,“b”,“b”,“c”,“c”,“c”]输出:返回6,输入数组的前6个字符应该是:[“a”,“2”,“b”,“2”,“c”,“3”]...原创 2019-04-29 13:04:41 · 1684 阅读 · 0 评论 -
变量互换问题(C指针实现)
最近重翻了翻以前的Ç语言书,看了看指针那一章,结合一个经典变量交换问题,我想重新温固一下指针的基础知识点,假设现在要你写一个函数,交换两个变量,或者是两个数组,两个数据结构,怎么写?最基础的当然是交换两个变量了,假设让你交换两个变量的值。1.最初想法#include&amp;amp;lt;iostream&amp;amp;gt;#include&amp;amp;lt;stdio.h&amp;amp;gt;usin原创 2018-08-29 23:56:50 · 473 阅读 · 0 评论 -
B1026-程序运行时间
#include<iostream> #include<math.h> using namespace std; int main(int argc, char const *argv[]) { int c1,c2 = 0; cin >> c1 >> c2; int ans = (c2-c1); //用于四舍五入进位,减少浮点数运算 if(ans%1...原创 2019-06-18 00:13:49 · 151 阅读 · 0 评论 -
pat-B1014(福尔摩斯的约会)
题目描述大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’E’,那是第5个英文...原创 2019-07-08 23:46:33 · 236 阅读 · 1 评论 -
B1033(旧键盘打字)
题目描述旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入描述:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(...原创 2019-07-18 19:11:55 · 275 阅读 · 0 评论 -
B1029(旧键盘)
题目描述旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入描述:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。输出描述:按照发现顺序,在一行中输...原创 2019-07-17 22:57:05 · 203 阅读 · 0 评论 -
B1031(查验身份证)
题目描述一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现...原创 2019-07-17 23:01:20 · 245 阅读 · 0 评论 -
B1019(数字黑洞)
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 835285...原创 2019-07-17 23:06:30 · 368 阅读 · 0 评论 -
leetcode-100:相等的树
原题来自leetcode_100这道题我选择用递归法来做,原理很简单,将这个函数改为树的递归遍历模板即可,需要注意的是边界判断原创 2019-05-22 22:51:17 · 147 阅读 · 0 评论