
数据结构
馒头配咸菜
这个作者很懒,什么都没留下…
展开
-
小白笔记——使用7次比较对5个元素进行排序
参考于计算机程序设计艺术(第三卷)第五章–排序原创 2020-10-28 20:50:25 · 657 阅读 · 0 评论 -
大全——codeblocks常用快捷键
编辑部分:Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z:重做Ctrl+Shift+C:注释掉当前行或选中块Ctrl+Shift+X:解除注释Tab:缩进当前行或选中块Shift+Tab:减少缩进按住Ctrl,滚动鼠标滚轮,放大或缩小字体编译与运行部分:Ctrl + F9:编译Ctrl + F10:运行上次成功编译后的程序Ctrl +原创 2020-10-18 01:43:02 · 674 阅读 · 0 评论 -
输入两个数输出之间的回文数
输入两个数输出之间的回文数:bool A(int num) { if (num >= 0 && num < 10) return true; if (num%10==0) return false; int num1 = num, num2 = 0; while (num2 < num1 && num2 != num1) { num2 = num2 * 10 + (num1 % 10); nu原创 2020-10-18 01:01:27 · 1425 阅读 · 0 评论 -
记录刷题——(leetcode——238除自身以外数组的乘积)
题目:给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。来源:力扣(LeetCode)链接:https://leetcode-cn.com原创 2020-06-04 16:40:26 · 161 阅读 · 0 评论 -
记录刷题——(leetcode——1029两地调度)
题目:公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]。返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达。示例:输入:[[10,20],[30,200],[400,50],[30,20]]输出:110解释:第一个人去 A 市,费用为 10。第二个人去 A 市,费用为 30。第三个人去 B 市,费用为 50。第四个人去 B 市,费用为 20。最低总费用为 10 + 30 + 50 + 20 = 1原创 2020-06-03 21:06:27 · 218 阅读 · 0 评论 -
记录刷题——(leetcode——64求1+2+……+n)
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kids-with-the-greatest-number-of-candies著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目: 面试题64. 求1+2+…+n求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9原创 2020-06-02 20:47:20 · 187 阅读 · 0 评论 -
记录刷题(leetcode——1431拥有最多糖果的孩子)
**题目:给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖果,如果原创 2020-06-02 20:42:43 · 193 阅读 · 0 评论 -
记录刷题——(leetcode——101对称二叉树)
题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/symmetric-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。代码:/** * Definition for a binary tree node. * struct TreeNode { *原创 2020-05-31 22:55:52 · 198 阅读 · 0 评论 -
记录刷题——(leetcode——24两两交换链表节点)
**题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。**思路:给链表新建一个头指针。/** * Def原创 2020-05-30 14:30:12 · 330 阅读 · 0 评论 -
记录刷题——(leetcode——198打家劫舍)
题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入: [2原创 2020-05-29 16:55:10 · 275 阅读 · 0 评论 -
记录刷题——(leetcode——02.03删除中间节点)
**题目:实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/delete-middle-node-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。**原创 2020-05-26 15:58:23 · 233 阅读 · 0 评论 -
记录刷题——(leetcode——2两数相加)
题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https://leetc原创 2020-05-25 14:30:36 · 152 阅读 · 0 评论 -
记录刷题——(leetcode——20有效的括号)
题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:将字符串中的左括号存在一个数组中,当遇到第一个右括号时判断左括号数组是否为原创 2020-05-24 21:56:25 · 242 阅读 · 0 评论 -
记录刷题——(leetcode——665非递减数列)
题目:给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),总满足 array[i] <= array[i + 1]。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/non-decreasing-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:遇到前大于后,缩原创 2020-05-21 12:16:20 · 213 阅读 · 0 评论 -
记录刷题——(leetcode——695岛屿的最大面积)
题目:给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-area-of-island著作权归领扣网络所有。商业转载请联系官方授权,非商原创 2020-05-21 11:07:00 · 227 阅读 · 0 评论 -
leetcode——136(超级666题解-参考于leetcode官方题解)
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。个人感觉这个leetcode官方提供的思路很六:异或操作例如:2,2,1;a初值设为0,a为最终返回的那个出现次数为1的数.a^2 = 0^2=2a^2 = 2^2 =0a^1 = 0^1 = 1所以a=1就是出现一次的那个数int singleNumber(int* nums, i...原创 2020-05-25 15:57:36 · 246 阅读 · 0 评论 -
数据结构——给定一组数左移n位问题(基础练习)
问题: 给定一组整数存放在一维数组中,将这组数左移p位。思路: 将这组数中的前p位先反转,再将剩余数反转,最后将整组数反转。(参考于某qin数据结构考研高分笔记)代码实现:#include<iostream>using namespace std;void rollBack(int a[],int i,int j){ int m=0,n=0,t=0; for(m=i,n=...原创 2020-04-07 15:13:48 · 339 阅读 · 0 评论 -
使用栈实现进制转换(代码易懂)
使用栈实现十进制转八进制:#include<iostream>#include<malloc.h>using namespace std;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct{ int *base; int *top; int stacksize;}sStac...原创 2020-03-21 22:43:26 · 2861 阅读 · 0 评论 -
数据结构知识点——第二章线性表
1.线性结构的特点: 在数据元素的非空有限集中,存在惟一的一个被称为“第一个”的数据元素;存在惟一的一个被称做“最后一个”的数据元素;除第一个之外,集合中的每个数据元素均只有一个前驱;除最后一个之外,集合中每一个数据元素均只有一个后继。...原创 2020-03-16 16:40:27 · 244 阅读 · 0 评论 -
数据结构知识点——第一章绪论
1.数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。2.数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。3.算法的五个重要特性:1)有穷性2)确定性3)可行性4)输入:零个或多个输入5)输出:一个或多个输出4.算法设计的目标:1)正确性2)可读性3)健壮性4)效率与低存储量需求5.算法效率的度量方法1)事后统计法...原创 2020-03-16 12:09:17 · 262 阅读 · 0 评论