![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
潘多拉的面
这个作者很懒,什么都没留下…
展开
-
刷题记录log
***************************贪心算法(局部最优解)Python中列表和集合的表示set()函数的使用费曼算法最长公共子串最长公共子序列K最近邻算法使用vector容器把一个文件的整数排序后输出到另一个文件牛客网共三题算法两题简单一题中等难度,第一二题可能会是循环、数组、字符串、栈这些,第三题会难一点,二分查找、动态规划、DFS、BFS这些。每题都有test case 算每题分数总和为总分可看一下leetcode网的典型练习题目,编号如下:...原创 2022-05-02 23:08:22 · 505 阅读 · 0 评论 -
判断单链表是否有环
#include <stdbool.h>/** * struct ListNode { * int val; * struct ListNode *next; * }; * * C语言声明定义全局变量请加上static,防止重复定义 *//** * * @param head ListNode类 * @return bool布尔型 */bool hasCycle(struct ListNode* head ) { // write code here.原创 2021-12-15 17:57:12 · 1128 阅读 · 0 评论 -
使用hsah表查找字符中第一个出现一次的字符
#include <stdio.h>#include <string.h>#include <stdlib.h>void hashMap(const char *p){ if(NULL == p) { perror("the p is null\n"); return ; } int size = 256; int hash[size]; bzero(hash,size); char *q = (char *)malloc(128); .原创 2021-11-19 11:25:57 · 326 阅读 · 0 评论 -
二进制数之间的相互转换
1、使用int buff[]存储二进制数2、使用递归3、使用字符存储二进制数1、使用int buff[128] 类型存储二进制数值char* num_to_io(int num){ int a = 0; int buff[128] = {0}; int two[128] = {0}; for(int i = 0;1;i++) { buf[i] = num%2; num = num/2; if(num == 1) { buf[i+1] = num; a原创 2021-10-19 16:21:53 · 922 阅读 · 0 评论 -
#栈的实现#
1、顺序栈栈:先进后出队列:先进先出//顺序栈#include <stdio.h>#define OK 1#define ERROR 0#define TRUE 0#define FALSE 0#define MAXSIZE 20typedef int ElemTypetypedef int Statetypedef struct{ //顺序栈的存储结构 ElemType data[MAXSIZE]; //用数组存放数据,最大为MAXSIZE,作为栈满条件原创 2021-09-13 23:37:01 · 69 阅读 · 0 评论 -
希尔排序1
//分组内嵌冒泡(待验证)for(int gap = n/2; gap>=1;gap/=2){ for(int i = 0;i < n;i++) { for(int j = i + gap;j < n;j+=gap) { int temp; for(int k = j - gap; a[k] > a[k+gap]; k-=gap) { temp = a[k]; a[k] = a[k + gap]; a[k] = temp;.原创 2021-09-04 18:48:58 · 54 阅读 · 0 评论 -
算法相关的博文
剑指offer:https://blog.csdn.net/fuyuande/category_9297928.html原创 2021-09-02 09:40:10 · 74 阅读 · 0 评论 -
反转单链表
c语言实现:#include <stdlib.h>#include <stdio.h>#include <string.h>#include <unistd.h>struct Node{ int data; struct Node* next;}node,*p;struct Node* init_node(){ struct Node *head = (struct Node*)malloc(sizeof(st原创 2021-08-30 23:37:15 · 214 阅读 · 0 评论 -
2021-08-30待整理
注:转载请注明:http://www.cnblogs.com/ECJTUACM-873284962/前言:由于计算机运算是有模运算,数据范围的表示有一定限制,如整型int(C++中int 与long相同)表达范围是(-2^31~2^31-1),unsigned long(无符号整数)是(0~2^32-1),都约为几十亿.如果采用实数型,则能保存最大的double只能提供15~16位的有效数字,即只能精确表达数百万亿的数.因此,在计算位数超过十几位的数时,不能采用现有类型,只能自己编程计算.高精度计算.转载 2021-08-30 19:34:34 · 128 阅读 · 0 评论 -
查找一个字符中只出现两次的字符
查找一个字符中只出现两次的字符C语言实现: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 char second_char(char *str) 5 { 6 int num; 7 char *p = str; 8 unsigned char arr[256] = {0}; 9 10 while(*p) 11 { 12 arr[*p原创 2021-04-01 20:32:28 · 439 阅读 · 0 评论