探索时期的博客
都是我的前期学习坑坑洼洼的道路
JoyCheung-
平心静噪
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT | 7-4 是否同一棵二叉搜索树
二叉搜索树——>判断是否是同一棵二叉搜索树原创 2021-06-22 18:02:31 · 180 阅读 · 0 评论 -
Leetcode 69. x 的平方根
给你一个非负整数 x ,计算并返回 x 的 平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4 输出:2 示例 2:输入:x = 8 输出:2 解释:8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。提示:0 <= x <= 231 - 1袖珍计算器算法「袖珍计算器算法」是一种用指数函数 \expexp .原创 2021-09-14 17:59:24 · 167 阅读 · 1 评论 -
Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置 【数组 二分查找】
Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置 【数组 二分查找】原创 2021-09-01 20:56:37 · 3926 阅读 · 7 评论 -
Leetcode 104. 二叉树的最大深度
题目链接解题思路空树:最大深度是0,直接返回。非空:分解子问题(递归),先求左右子树的深度,最大深度是左右子树深度最大的再加一。Cint maxDepth(struct TreeNode* root){ if(root == NULL) return 0; int leftdepth = maxDepth(root->left); int rightdepth = maxDepth(root->right); retur原创 2021-08-12 22:17:39 · 130 阅读 · 1 评论 -
Leetcode 144. 二叉树的前序遍历
题目链接给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = [] 输出:[] 示例 3:输入:root = [1] 输出:[1]解题思路二叉树的前序遍历其实就是递归思想,只不过在递归前需要将值给对应的数组。要注意的是,需要使用地址传递,如果使用值传递,因为函数中的局部变量是在栈区开辟的,i无法++。/** * Definition for a binary tree原创 2021-08-12 17:33:06 · 135 阅读 · 1 评论 -
Leetcode 88. 合并两个有序数组
题目链接给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]示例 2:输入:nums1 = [1]原创 2021-08-08 10:39:19 · 180 阅读 · 0 评论 -
Leetcode 21. 合并两个有序链表
题目链接解题思路 1没有头结点设置两个指针head和tail,先将l1和l2小的结点赋值给head和tail;当l1或者l2中都没有到达空的时候,比较两个指针所指数的大小,不断的把小的结点尾插到head链表中当一个链表到达空的时候,将另外一个链表剩余的结点全部拷贝给head链表C实现/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *ne原创 2021-08-07 17:37:28 · 127 阅读 · 0 评论 -
Leetcode 66. 加一 【C++/C详细解法】
题目链接解题思路 1当对最后一个整数加一的时候,会有下面三种情况:不需要进位进位,但是数组长度不变进位,数组长度改变考虑到第三种情况,可以一开始就开辟+1个元素的数组。int* retarr = (int*)malloc(sizeof(int)*(digitsSize+1));通过遍历数组,因为+1会有进位的情况,所以需要构造一个循环,循环结束后会有i++,并且nextnum的值有0或者1的情况。当nextnum的是0的时候,return的数组长度时i;当nex原创 2021-08-04 13:00:20 · 716 阅读 · 0 评论 -
Leetcode 53. 最大子序和 C++实现【暴力】【贪心】【动态规划】【分治法】
题目链接暴力法寻找所有可能的子序列和,得出最大值。时间复杂度: O(n^2)空间复杂度:O(1)代码【C++】class Solution {public: int maxSubArray(vector<int>& nums) { //暴力法 int maxans = nums[0]; for(int i = 0; i < nums.size();i++){ int ret = 0; /原创 2021-08-03 14:03:59 · 417 阅读 · 0 评论 -
Leetcode 35. 搜索插入位置【C/C++】详细分析
题目链接解题思路 1题意是叫你在排序的数组中寻找一个目标值并且时间复杂度是O(log n),就可以想到采用二分法。题目还要求如果这个数在数组中不存在的时候返回顺序插入的位置,那这个时候还可以用二分法吗?假设这个插入的位置是pos,成立的条件是nums[pos-1] < target <= nums[pos],如果存在这个目标值,返回的也是pos,所以得意合并得出最后的目标: ** 在一个有序数组中找第一个大于等于target的下标 **。C++class Solution {publ原创 2021-08-03 10:21:37 · 262 阅读 · 0 评论 -
Leetcode 数组题解 【更新中】
Leetcode Tag: 数组 刷题集合原创 2021-08-02 23:17:54 · 279 阅读 · 0 评论 -
Leetcode 1. 两数之和【C/C++】
题目链接解题思路 1 [暴力法]给定一个整数数组 nums 和一个整数目标值 target,在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。放置两个下标i和j,i依次遍历数组,j的范围从i+1到size-1进行遍历,从而寻找和为目标值的两个整数。时间复杂度:O(N^2)空间复杂度:O(1)C/** * Note: The returned array must be malloced, assume caller calls free(). */int*原创 2021-08-02 17:02:54 · 214 阅读 · 0 评论 -
Leetcode 26. 删除有序数组中的重复项【C/C++】
Leetcode 26. 删除有序数组中的重复项原创 2021-07-16 15:52:00 · 316 阅读 · 0 评论 -
Leetcode 27. 移除元素 | 数组OJ
题目链接给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。思路分析法一:看到这样的题,一开始的思路是遍历数组,当数值和value一样的时候,将之后的数组向前移动,在这样情况下的时间复杂度是O(N^2)。法二:设定 after 和 pre 两个下标,初始化下标的值都是0,当pre下标比num原创 2021-07-16 15:03:22 · 277 阅读 · 0 评论 -
1012 数字分类 (20 分) | PAT 【最后一个测试点问题解决】
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和;A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯A3= 被 5 除后余 2 的数字的个数;A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数原创 2021-07-10 09:17:31 · 751 阅读 · 2 评论 -
1008 数组元素循环右移问题 (20 分) | PAT
题目一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0 A1⋯AN−1)变换为最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:6 21 2原创 2021-07-09 19:22:02 · 161 阅读 · 0 评论 -
1046 划拳 (15 分) | PAT
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊 乙划其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只手一起划)。原创 2021-07-09 16:34:59 · 125 阅读 · 0 评论 -
PAT | 1026 程序运行时间(15分)
1026 程序运行时间 (15 分) | PAT ; 四舍五入;格式输出原创 2021-07-09 14:39:30 · 127 阅读 · 0 评论 -
1016 部分A+B (15 分) | PAT
PAT (Basic Level) Practice (中文)原创 2021-07-09 12:52:51 · 125 阅读 · 0 评论 -
习题9-5 通讯录排序 (20 分) | PAT
习题9-5 通讯录排序 (20 分) | PAT原创 2021-07-08 13:21:15 · 380 阅读 · 0 评论 -
习题9-4 查找书籍 (20 分) | PAT 【结构体,C的三种输入】
习题9-4 查找书籍 (20 分),结构体,scanf,gets,getchar,动态分配内存,字符串原创 2021-07-08 11:11:07 · 643 阅读 · 0 评论 -
习题9-3 平面向量加法 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集,习题9-3 平面向量加法 (15 分)原创 2021-07-08 09:55:20 · 599 阅读 · 0 评论 -
习题9-1 时间换算 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-07 20:31:06 · 207 阅读 · 0 评论 -
习题8-10 输出学生成绩 (20 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-07 19:43:12 · 508 阅读 · 0 评论 -
习题8-7 字符串排序 (20 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-07 18:41:30 · 254 阅读 · 0 评论 -
习题7-8 字符串转换成十进制整数 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-03 16:28:58 · 394 阅读 · 0 评论 -
习题7-7 字符串替换 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-03 12:36:45 · 228 阅读 · 0 评论 -
习题7-6 统计大写辅音字母 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-03 12:24:37 · 187 阅读 · 0 评论 -
习题7-5 找鞍点 (20 分) | PAT【思路清晰】
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-03 12:18:24 · 1084 阅读 · 1 评论 -
习题7-4 求矩阵各行元素之和 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-02 21:13:32 · 204 阅读 · 0 评论 -
习题7-3 判断上三角矩阵 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-02 21:00:05 · 195 阅读 · 0 评论 -
习题7-2 求一批整数中出现最多的个位数字 (20 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-02 19:31:34 · 262 阅读 · 2 评论 -
习题7-1 选择法排序 (20 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-02 18:47:16 · 232 阅读 · 0 评论 -
练习7-11 字符串逆序 (15 分) | PAT
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-02 18:35:08 · 135 阅读 · 0 评论 -
PAT | 练习7-10 查找指定字符 (15 分)
浙大版《C语言程序设计(第3版)》题目集原创 2021-07-02 18:19:07 · 150 阅读 · 0 评论 -
PAT | 练习7-9 计算天数
计算天数原创 2021-06-22 14:35:15 · 194 阅读 · 0 评论 -
PAT | 练习7-8 方阵循环右移(两种方法)
方阵循环右移原创 2021-06-22 14:19:04 · 241 阅读 · 0 评论 -
PAT | 6-8 求二叉树高度
求二叉树高度。原创 2021-06-20 14:57:59 · 198 阅读 · 0 评论 -
PAT | 6-9 二叉树的遍历
二叉树遍历(递归)原创 2021-06-20 14:46:27 · 233 阅读 · 0 评论 -
PAT | 7-3 树的同构 【二叉树应用】
数的同构 —— 二叉树 && root的应用原创 2021-06-19 22:07:15 · 212 阅读 · 0 评论
分享