![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
上机练习
小理想啊
这个作者很懒,什么都没留下…
展开
-
复试上机练习day1(线性表)
#include <stdio.h>#include <stdlib.h>#define SIZE 100typedef struct Link{int data;int len;struct Link *next;}*Link,Lnode;Link HcreateLink(int n){ int i; Link L; Link ...原创 2018-04-30 21:17:50 · 140 阅读 · 0 评论 -
LeetCode—455. 分发饼干
讲个for 循环需要优化,晚上回来写#include <stdio.h>#include <stdlib.h>//快速排序void quick_sort(int s[], int l, int r){ if (l < r) { //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1 ...原创 2018-05-17 08:02:17 · 457 阅读 · 0 评论 -
LeetCode—504. 七进制数
注意num==0的情况#include <stdio.h>#include <stdlib.h>#include <string.h>char s[10000000];int a[10000000];char* convertToBase7(int num) { int i=0,j,len; if(num==0) return ...原创 2018-05-17 08:32:38 · 384 阅读 · 0 评论 -
LeetCode—665. 非递减数列
为什么!为甚!why!本地运行和LeetCode上不一样!#include <stdio.h>#include <stdlib.h>int checkPossibility(int* A, int size) { int i,j,t; for (i=0;i<size-1;i++) { if(A[i]>A[i+1]) ...原创 2018-05-10 20:48:45 · 507 阅读 · 0 评论 -
LeetCode—88. 合并两个有序数组
//快速排序void quick_sort(int s[], int l, int r){ if (l < r) { //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1 int i = l, j = r, x = s[l]; while (i < j) { ...原创 2018-05-17 14:44:51 · 219 阅读 · 0 评论 -
不同编译器结果不一样
#include <stdio.h>#include <stdlib.h>int canPlaceFlowers(int* A, int size, int n) { int i,sum=0,j,t; for(i=0;i<size;i++) { if((A[i]==0)&&(A[i+1]==0)) ...原创 2018-05-10 22:20:11 · 2048 阅读 · 2 评论 -
LeetCode—717. 1比特与2比特字符
思路:i从头开始走,遇到1往后走两格,遇到0走一格,j记录前一个i,i-j==1最后一个是0,i-j==2,最后是两个的#include <stdio.h>#include <stdlib.h>int isOneBitCharacter(int* A, int len) { int i,j; for(i=0;i<len;i++) { ...原创 2018-05-16 19:29:50 · 451 阅读 · 0 评论 -
C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程。你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用。同样return返回时,如果返回一个值,函数会将该值拷贝一份以提供给主调函数使用,返回的是一个指针(也就是地址),自然拷贝的就是一个地址,供主调函数使用。 ...转载 2018-05-16 21:34:36 · 6900 阅读 · 0 评论 -
LeetCode—67. 二进制求和
这题总体思路有点像两个线性表的合并,有个知识点花了很长时间,函数传回字符串,详见上一篇char *S(char *b){ char *s; return s;}这个s是传不回去的,因为在函数体里面定义,是局部变量。#include <stdio.h>#include <stdlib.h>#include <string.h>char *...原创 2018-05-16 21:39:11 · 656 阅读 · 0 评论 -
LeetCode—561. 数组拆分 I
#include <stdio.h>#include <stdlib.h>//快速排序void quick_sort(int s[], int l, int r){ if (l < r) { //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1 int i = l, j =...原创 2018-05-17 07:49:05 · 273 阅读 · 0 评论 -
LeetCode—7. 反转整数
这一题真的很简单啊,不知道为什么花了好久的时间,其实功能早就实现了,题目理解错了,他是说反转后的整数溢出,则返回 0 我错误理解为输入的数据错误本来溢出就要输出0,这根本做不到嘛,因为函数中接受数据的是int类型,999999999999int他能接受,但直接是溢出后的错误结果,通过int根本无法判断输入数据是否溢出。此间,学习到了:1.存储 32 位有符号整数,其数值范围是 [−2 31, 2...原创 2018-05-09 21:03:14 · 213 阅读 · 0 评论 -
LeetCode—66. 加一
#include <stdio.h>#include <stdlib.h>int* plusOne(int* a, int size, int* sizeb) { int i,jin=1; for(i=size-1;i>=0;i--) { a[i]=a[i]+jin; jin=a[i]/10; ...原创 2018-05-09 22:18:50 · 98 阅读 · 0 评论 -
LeetCode—796. 旋转字符串
#include <stdio.h>#include <stdlib.h>int rotateString(char* A, char* B) { int i,len,k; char ch; len=strlen(A); for(k=1;k<=len;k++) { ch=A[0]; for(i=0;...原创 2018-05-09 22:32:56 · 519 阅读 · 0 评论 -
LeetCode—605. 种花问题
LeetCode测试真的细致,但是用起来不舒服,要不你把main()写好,要不我自己写嘛#include <stdio.h>#include <stdlib.h>int canPlaceFlowers(int* A, int size, int n) { int i,sum=0,j,t; if(size==1) { if(A[0...原创 2018-05-10 16:21:28 · 1381 阅读 · 0 评论 -
Day2-栈
1.顺序栈课件上的是用指针表示,typedef,define,但是一般结题时候用数组表示更简便,且这种方法具体使用顺序栈是pop,push不一定要写成函数,直接用两句--或者++解决还好点,这里为了练习和程序的可读性还是写了。#include <stdio.h>#include <stdlib.h>#define Max 1024typedef int ElemTyp...原创 2018-05-03 19:14:51 · 148 阅读 · 0 评论 -
LeetCode—258. 各位相加
#include <stdio.h>#include <stdlib.h>#include <string.h>int addDigits(int num) { char a[100]; int i,sum=0; //itoa(num,a,10); sprintf(a,"%d",num); int len; ...原创 2018-05-16 22:27:48 · 268 阅读 · 0 评论 -
LeetCode—415. 字符串相加
char* addStrings(char* a, char* b) { int lena,lenb,len=0,num_a,num_b,i,j,jin=0; int s[10000]; char ss[10000]; lena=strlen(a); lenb=strlen(b); i=lena-1; j=lenb-1;//printf("...原创 2018-05-16 22:44:01 · 433 阅读 · 0 评论 -
LeetCode—441. 排列硬币
#include <stdio.h>#include <stdlib.h>int arrangeCoins(int n) { int i=1; while(n>0) { n=n-i; i++; } if(n<0) return i-2; else return i...原创 2018-05-16 23:09:55 · 621 阅读 · 0 评论 -
排序合集1
1. 冒泡排序第一次1……n,最轻的往上走第二次2……n,最轻的往上走……直到第n-1次for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { ...原创 2018-06-13 08:58:27 · 171 阅读 · 0 评论