C语言编程
xiaohuihuituboshu
这个作者很懒,什么都没留下…
展开
-
【C语言】【栈的实现】
#define ARRAY_STACK 1 #ifdef ARRAY_STACK /* 数据域结构 */ typedef struct _StackNode { int data; } StackNode; typedef struct { int top; /* 栈顶位置 */ int maxSize; /* 栈中最多存放的元素 */ StackNode *...原创 2020-04-05 22:08:10 · 137 阅读 · 0 评论 -
【C语言】动态数组vector实现
C语言中缺少类似C++ Vector或者Java ArrayList 的通用动态数组的库函数。但有些场景数组的容量没法确定,故自己造个简单的动态数组轮子,以便后续能使用得到。 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <stdbool.h> /* 数组...原创 2020-03-29 22:07:26 · 641 阅读 · 1 评论 -
【C语言】lucky string
【每天一道算法题】Lucky String A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Given a string consisting of only lower case letters , output all its lucky non...原创 2020-03-29 16:25:40 · 255 阅读 · 0 评论 -
【数组】【删除排序数组中重复的项】
【题目要求】 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 【解题思路】 题目要求不能使用额外的空间,并且复杂度是O(1),所以需要一次遍历去解决问题。 采用双指针法:一个慢指针 i,一个快指针 j。只要 j 指向的值等于 i 指向的值...原创 2018-07-22 20:59:53 · 164 阅读 · 0 评论 -
【数组】【买卖股票的最佳时机】
【题目描述】 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 【解题思路】 一次遍历数组,只要递增,只要后一天的价格比前一天的大,就进行股票交易,从而累计利润。 【代码实现】 int maxProfit(int* prices, int pricesSize) { i...原创 2018-07-22 21:47:40 · 155 阅读 · 1 评论 -
C语言-要点
1、联合体union 联合体是多个变量共相一块内存,联合体的内存为,成员中占内存最大的成员为准。同一时间只能用到一个联合体成员。 union Data { int i; float f; char str[20]; } data; 如上联合体data,占用内存大小为 20 个字节。 2、位域 位域是C语言提供的更好的利用结构体内存空间的一种方式。 ...原创 2019-09-02 00:37:04 · 111 阅读 · 0 评论