- 博客(70)
- 资源 (9)
- 收藏
- 关注
原创 进击的小白Day038——LeetCode刷题笔记:知识点:报错总结(未完待续)
memset报错内存访问冲突解决办法:头文件中包含windows.h
2019-09-13 19:27:00 268 1
原创 进击的小白——LeetCode刷题总结(未完待续)
在写完一个算法的时候,尤其是算法中涉及到循环的时候,要考虑一下有没有哪些循环是完全无用的,如刷题笔记016中,每次循环可以先判断haystack中剩余长度是否足够容纳一个needle的长度,如果不够,那就没有继续循环的必要,直接返回flag即可,换一种说法就是,把i < (n2 - n1 +1)作为循环的条件,可以大大减少循环次数,提高程序运行效率。...
2019-04-12 11:48:20 262
原创 进击的小白Day037——LeetCode刷题笔记:知识点:用指针替换数组
参数以指针的形式作为函数形参时,可以以数组的形式调用char test(char **strs){ char a = strs[0][1]; //直接数组表示}例:“14. 最长公共前缀”2. 定义的指针当数组用char test(char **strs){ char *comm = ""; //定义指针指向空字符串 comm = (char*)malloc(size...
2019-09-03 20:47:42 338
原创 进击的小白Day037——LeetCode刷题笔记:知识点:考虑所有特殊情况(未完待续)
涉及字符串①多个字符串时,需要考虑字符串个数为0或1时的情况②单个字符串时,需要考虑字符串字符个数为0或1的情况如:“14. 最长公共前缀”遍历数组时,循环从1而不是从0开始时,即默认数组为非空如:“14. 最长公共前缀”...
2019-09-03 20:36:37 204
原创 进击的小白——知识点:Matlab基本语法
ones()生成单位矩阵或单位向量ones(N)表示生成N*N的单位矩阵:>> ones(3)ans = 1 1 1 1 1 1 1 1 1ones(M,N)表示生成M*N的单位矩阵:>> ones(3,4)ans = 1 1 1 1 ...
2019-05-16 13:55:52 872
原创 进击的小白Day036——LeetCode刷题笔记016:实现strStr()
题目来自LeetCode。题目描述:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “a...
2019-04-12 11:44:13 115
原创 进击的小白Day036——LeetCode刷题笔记015:移除元素
题目来自LeetCode。题目描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 ...
2019-04-12 11:17:24 112
原创 进击的小白Day036——LeetCode刷题笔记014:删除排序数组中的重复项
题目来自LeetCode。题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后...
2019-04-12 10:26:59 105
原创 进击的小白Day035——知识点:批量输入字符串,并循环右移(未完待续)
方法一:暴力法贴代码:#include <stdio.h>#include <string.h>void RightLoopMove(char *ss, int num){ int i = 0, j = 0; int n = strlen(ss); for (j = 0; j < num; j++) { char tmp = ss[n -...
2019-04-10 15:22:09 477
原创 进击的小白Day035——知识点:批量输入数值或字符串,并存入数组中
一次性输入一组浮点数,数值与数值之间用逗号隔开,输入完毕以换行符结束,将这一组数存入一个浮点数组中,输入的浮点数个数不定如:输入:1.2,2.4,6.0,7.8,9.66...
2019-04-10 09:34:24 967
原创 进击的小白Day034——LeetCode刷题笔记013:删除排序链表中的重复元素
题目来自LeetCode。给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3贴代码:struct ListNode* deleteDuplicates(struct ListNode* head) {...
2019-04-04 11:00:22 203
原创 进击的小白Day034——LeetCode刷题笔记012:旋转链表
题目来自LeetCode。给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 ...
2019-04-04 09:55:44 169
原创 进击的小白Day033——LeetCode刷题笔记011:两两交换链表中的节点
题目来自LeetCode。题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3。贴代码:struct ListNode* swapPairs(struct ListNode* head) { st...
2019-04-03 16:26:00 114
原创 进击的小白Day032——LeetCode刷题笔记010:删除链表的倒数第N个节点
题目来自LeetCode。题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?单指针遍历两次:struct ListNo...
2019-04-01 19:07:52 133
原创 进击的小白Day032——LeetCode刷题笔记009:合并两个有序链表
题目来自LeetCode。题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4贴代码:struct ListNode* mergeTwoLists(struct ListNode* l1, struc...
2019-04-01 14:44:47 273
原创 进击的小白——代码量统计
今天闲着没事统计了一下已经写过的代码量,3077,出乎我的意料,这么少,我真没想到这么少,今天偶然看到一个博客说10万代码量可以算作登堂入室了,这才想起来统计一下,还差的太远,继续努力吧!...
2019-03-20 16:40:58 120
原创 进击的小白——国二笔记
字符串以’\0’结束答案为3,字符串s实际只有“0123xy”,‘\0’后面的直接忽略。sizeofsizeof(数组名)结果为数组所有元素所占内存之和。sizeof(*q)等价于sizeof(p[0]),是用指针表示数组。补充:sizeof(q)可能等于4也可能等于8,因为指针变量在32位计算机中占用4字节,在64位计算机中占用8字节。...
2019-03-18 19:11:30 404
原创 进击的小白Day031——LeetCode刷题笔记008:盛最多水的容器
题目来自LeetCode。题目描述:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]...
2019-03-14 19:43:01 226
原创 进击的小白Day031——LeetCode刷题笔记007:字符串转换整数 (atoi)
题目来自LeetCode。题目描述:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后...
2019-03-14 14:15:50 120
原创 进击的小白Day031——LeetCode刷题笔记006:无重复字符的最长子串
题目来自LeetCode。题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因...
2019-03-14 11:17:14 167
原创 进击的小白Day030——LeetCode刷题笔记005:两数相加
题目来自LeetCode。给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -&amp;gt; 4 -&amp;gt; 3) + (5 -&amp;gt; 6 -&amp;gt; 4)输出:7 ...
2019-03-13 09:06:25 162
原创 进击的小白——知识点:手把手学链表(C语言)
先来介绍关于链表的几个概念:首节点:存放第一个有效数据的节点。尾节点:存放最后一个有效数据的节点。头指针:头节点的数据类型与首节点的数据类型相同,并且头节点是首节点前面那个节点,并不存放数据,头节点的存在只是为了方便链表的操作。头指针:指向头节点的指针。尾指针:指向尾节点的指针。...
2019-03-11 16:00:27 652
原创 进击的小白——知识点:指针和malloc
先来理解几个概念:指针的类型:指的是指针指向的变量(值)的类型,如定义一个指针变量int *p = NULL,指针p指向一个int型的变量,即指针的类型是int型。指针指向的值的类型:与指针的类型相同,指针指向的值(变量)的类型就是指针的类型。指针的值的类型:指针本身是一个地址值,这个地址值对应的内存储存着指针所指向的变量,而不管指针的类型(上面两个概念)是什么,指针变量本身的值(地址)的...
2019-03-09 20:20:03 6414 4
原创 进击的小白Day029——遗传算法解决TSP问题(三)(完结)
完成,结果如下:收获:数组或者指针或者变量,用完后,如果之后的程序仍然需要用到而且与之前所得的值没有关系,一定要及时初始化,一面影响后面的使用。贴代码:#include <stdio.h>#include <stdlib.h>#include <memory.h>#include <math.h>#include <time....
2019-03-08 11:39:44 159
原创 进击的小白Day028——遗传算法解决TSP问题(二)
写到交叉部分,调试成功。贴代码:#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;stdlib.h&amp;amp;gt;#include &amp;amp;lt;memory.h&amp;amp;gt;#include &amp;amp;lt;math.h&amp;amp;gt;#include
2019-03-07 19:01:28 158
原创 进击的小白Day028——LeetCode刷题笔记004:最长公共前缀
题目来自LeetCode。题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。贴代码:char* ...
2019-03-07 14:10:43 256
原创 进击的小白——知识点:能不能用二维指针做参数传递二维数组(数组名退化)
先说一下退化这个概念,退化出现在数组的引用过程中,当数组作为参数时会退化为指针,很好理解,在一定程度上,数组名可以等同于指针(一维数组)。C语言中,数组名作为参数传递给函数时,数组退化为指针,实际上传送的是指针而不是数组,因此就存在一个问题,传递进函数的不是数组本身,只是一个地址,因此,函数也不知道数组的大小,所以当需要数组大小的时候,需要再加一个参数来表示数组大小。一维和多维数组的情况:...
2019-03-07 13:33:54 530 1
原创 进击的小白Day028——LeetCode刷题笔记003:回文数
题目来自LeetCode。题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。...
2019-03-07 09:16:40 177
原创 进击的小白Day027——LeetCode刷题笔记002:整数反转(拆分整数、求整数的位数)
题目来自LeetCode。题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21用三句代码就可以实现:pop = x % 10; //取最后一个数x /= 10; //去掉最后一个数rev = rev * 10 +...
2019-03-06 11:38:10 236
原创 进击的小白——知识点:函数返回指针的应该指向什么变量
接上一篇博客。题目来自从LeetCode。本文部分内容转载自https://www.cnblogs.com/mascotxi/p/4394893.html#commentform。题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素...
2019-03-05 13:34:57 532 1
原创 进击的小白Day026——LeetCode刷题笔记001:两数之和(static、return的用法)
题目来自从LeetCode。题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以...
2019-03-05 10:26:26 359
原创 进击的小白——知识点:C语言里那些奇怪的表达式(未完待续)
if((i = -1) == -1)最开始看到这句话的时候,我觉得有两种理解,当然肯定有一种是错的,第一种理解是(i = -1)这个语句恒为1,这样理解是因为我觉得赋值语句执行的是赋值,但这条语句的返回值应该是复制成功的结果,就是1(True),第二种理解是先对i进行赋值,然后用i跟-1进行比较。用下面两端代码来测试是哪种情况:#include&amp;amp;lt;stdio.h&amp;amp;gt;void mai...
2019-03-04 19:34:47 163
原创 进击的小白——知识点:C#中值类型和引用类型作为值参数和引用参数时的区别
值类型:只需要一段单独的内存,用于存储实际的数据,数据存储在栈中。引用类型:需要两端内存,第一段存储实际的数据,位于堆中;第二段存储引用,指向数据在堆中的存放位置(引用类似于C语言中的指针,用于存放地址),引用存储在栈中。但值类型并非一定存放在栈中,引用类型也并非一定在堆和栈中都有存储,原因见下。对于引用类型的任何对象,它所有的数据成员都存放在堆里,无论它们是值类型还是引用类型。以图中M...
2019-02-22 14:17:12 1866
原创 进击的小白Day025——win32com的操作(一)
因为工作需要,需要替换大量word文档中的关键字,懒得挨个手动操作,就打算写一个python程序,接下来记录这个学习过程。先写一个最简单的新建word的代码:#导入库import win32comfrom win32com.client import Dispatch#调用word程序WordApp = win32com.client.Dispatch(&amp;quot;Word.Applicati...
2019-01-29 09:13:01 5186
原创 进击的小白Day024——遗传算法解决TSP问题(一)
TSP问题,用遗传算法实现,今天只实现到种群初始化。贴代码:#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;memory.h&amp;gt;#include &amp;lt;math.h&amp;gt;#include &amp;lt;ti
2019-01-28 19:30:31 213
原创 进击的小白Day023——遗传算法(五)(完结)
代码能够正常运行,得到结果接近最优解,之后进行代码优化。进化代数为1000,在979代取得最优解。
2019-01-25 14:05:02 215
原创 进击的小白——知识点:查找程序bug原因及位置(以遗传算法程序为例)
程序查错方法:小范围查错,单步调试,用Watch窗口查看各个变量的值;大范围查错,用printf输出每个模块返回的结果,通过结果查错。之前写的遗传算法程序出现了一个问题:没报错,没中断,但循环会在某一次卡住,且卡住的次数随机。排障思路:把每个模块都加上printf,观察程序停止的地方,可以看到,程序每次都停在cross1和cross2中间,因此有可能是cross(交叉)这个部分出了...
2019-01-25 11:09:43 334
The C Programming Language (第二版中文、英文、答案)
2018-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人