算法零基础——计数数组 目录 引言(计数法与计数数组) 唯一元素的和 找到所有数组中消失的数字 好数对的数目 检查是否所有字符出现次数相同 字符串中的第一个唯一字符 引言(计数法与计数数组)我们经常用一个奇数元素来统计元素出现的次数 如我们统计智商超过163的有多少人,就可以用一个计数法 123456789int func(int *iq, int size) { int cnt = 0; f 2021-11-26 算法 #排序算法 算法 链表
栈 栈:一种特殊的线性表,其只允许在固定的一段进行插入和删除元素,进行插入和删除元素的一端叫做栈顶,另一端叫做栈底,栈中的元素遵守着先进后出的原则 stack.h 1234567891011121314151617181920212223242526272829303132333435363738#define _CRT_SECURE_NO_WARNINGS 1#pragma once# 2021-11-25 数据结构 #动态规划 算法 排序算法 数据结构
环形链表 目录 环形链表 ‘环形链表2 环形链表 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情 2021-11-25 练习题 #数据结构 链表 数据结构 leetcode
顺序表力扣题 目录 移除元素 法一,暴力覆盖 法二,数组接收 法3双指针判断 合并两个有序数组 移除元素 法一,暴力覆盖 移除元素 给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于 val的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 2021-11-25 练习题 #数据结构 链表 数据结构 leetcode
顺序表 静态顺序表 test.c 123456789101112131415161718192021222324252627282930313233//顺序表是物理地址连续的存储单元,一次存储数据元素的线性结构,在数组上实现数据增删查改//顺序表一般可以分为//1.静态的顺序表:使用定长数组存储//2.动态的顺序表,使用动态开辟的数组进行存储//1.连续的物理空间存储——数组//2.数据必须是从头开始 2021-11-21 数据结构 #排序算法 算法 链表 数据结构
内存函数 memmove可以处理内存重叠的问题,memcpy不可以处理内存重叠的问题,memcmp比较内存的大小memset,int main(){ int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; // 1,2,1,2,3,4,5,8,9,10 int arr1[10] = { 0 }; 2021-11-20 c #排序算法 算法 链表
跟着英雄学算法--矩阵 目录 1.力扣题分析 2.最富有客户的资产总量 3.转置矩阵 4.旋转图像 5.回旋矩阵(方阵) 矩阵力扣题讲解 二进制二维数组image水平反转在取反 123456789101112131415int** flipAndInvertImage(int** image, int imageSize, int* imageColSize, int* returnSize, int** re 2021-11-20 算法 #排序算法 算法 链表
分支与循环 目录 找最大公约数 法1 法2 求最小公倍数 判断是否是素数 法1 法2 模拟用户登录界面 找两个数的最大公约数 法1 法2辗转相除法求最大公约数 判断一个数是否是素数 模拟实现用户输入密码登入界面 找两个数的最大公约数法11234567891011121314151617int main(){ int m, n; scanf("%d %d", &m 2021-11-18 c #动态规划 算法 排序算法
跟着英雄学算法2数列 求斐波那契数列 我们使用一般的递归会造成栈溢出 那么我们就可以使用一个数组来接收这个数 12345678int fib(int n) { int f[31]; // (1) f[0] = 0, f[1] = 1; // (2) for(int i = 2; i <= n; ++i) 2021-11-16 算法 #图论 动态规划 算法
链表的中间结点 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.nex 2021-11-16 练习题 #链表 数据结构 leetcode