算法学习
小理想啊
这个作者很懒,什么都没留下…
展开
-
算法—贪心(1)
今天实验做的是贪心算法,中午睡醒然后爬了九楼去实验室,讨厌,老师没有提前发实验指导书刚开始还是讨厌的,因为以前都是提前做好直接过来验收的,毕竟对自己还是很没有信心能够在实验课上完成实验的;哎,事实证明确实没有完成,思路想法都是有的,就是不会用高级语言实现了,难受难受; 说正事吧,贪心算法,就是目光短浅法,要命的是他需要证明贪心选择策略(主)和最优子结构性质,我不会!之后需要学习!原创 2017-10-16 19:38:08 · 305 阅读 · 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 评论 -
C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程。你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用。同样return返回时,如果返回一个值,函数会将该值拷贝一份以提供给主调函数使用,返回的是一个指针(也就是地址),自然拷贝的就是一个地址,供主调函数使用。 ...转载 2018-05-16 21:34:36 · 6900 阅读 · 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—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—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 评论 -
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—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—7. 反转整数
这一题真的很简单啊,不知道为什么花了好久的时间,其实功能早就实现了,题目理解错了,他是说反转后的整数溢出,则返回 0 我错误理解为输入的数据错误本来溢出就要输出0,这根本做不到嘛,因为函数中接受数据的是int类型,999999999999int他能接受,但直接是溢出后的错误结果,通过int根本无法判断输入数据是否溢出。此间,学习到了:1.存储 32 位有符号整数,其数值范围是 [−2 31, 2...原创 2018-05-09 21:03:14 · 213 阅读 · 0 评论 -
c语言实现排列组合
组合数:C语言求组合数不能直接使用数学公式C(n,m)=(m!)/(n!*(n-m)!);公式变形: (m!)/(n!*(m-n)!)=(m*(m-1)*(m-2)*…*(m-n+2)*(m-n+1))/(n!)=((m-n+1)/1)*((m-n+2)/2)*((m-n+3)/3)*…*((m-n+n)/n)=∏((m-n+k)/k)【k=1,2,3,…,n】codes:#include ...原创 2018-02-22 23:53:02 · 12275 阅读 · 0 评论 -
递归加深理解
觉得很有意思,看了一会儿才看懂,之前对递归一直理解不深,这次加深了一丢丢。InvertStore(A)里面的InvertStore(A)相当于用来输入字符,而InvertStore(A)里面的A[i++] = ch相当于接收这些字符,它是在InvertStore(A)后面,所以输入是1234的顺序,接收时是4321顺序。#include <stdio.h>#include <s...原创 2018-07-15 20:14:31 · 319 阅读 · 0 评论