上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 剑指 Offer 53 - II. 0~n-1中缺失的数字 首先观察题目给我们的条件,有序递增数组中找元素,比较自然地会往二分上联系。一般的二分,我们找到答案后会直接返回,但这里的二分,我们需要不断缩小空间,直到找到为止。 class Solution { public int missingNum 阅读全文
posted @ 2022-01-18 23:30 NullPointer_C 阅读(43) 评论(0) 推荐(0)
摘要: 剑指 Offer 53 - I. 在排序数组中查找数字 I 寻找数字左边界的二分,这里需要注意r和check函数的设置,这里选择的是不可以取到的r,即nums.length。 check的退出添加也是l < r。即l >= r时。 那么对于每个check,我们最终要得到的数字的左边界,如果nums[ 阅读全文
posted @ 2022-01-18 23:15 NullPointer_C 阅读(26) 评论(0) 推荐(0)
摘要: 剑指 Offer 03. 数组中重复的数字 对于此题,可以有几种不同的考虑,如果可以看出这是一类频率统计题,容易联系到哈希表,所以第一种方法也是比较容易想到的办法就是用哈希表来统计词频,这里由于数据范围可确定(0-n-1),可以用数组来简化一些代码上的书写,这种方法时间复杂度为$O(n)$,空间复杂 阅读全文
posted @ 2022-01-18 23:04 NullPointer_C 阅读(41) 评论(0) 推荐(0)
摘要: 剑指 Offer 58 - II. 左旋转字符串 对于此题,如果用允许开辟新空间的算法,那么会比较简单,需要将n个字符移到原字符串的后面,所以考虑新字符串从位置为n处开始添加原字符串中的字符,再从0遍历至n,添加原字符串中的字符。 对于给定的k,因为此题给定了k < s.length。但我们为了追求 阅读全文
posted @ 2022-01-17 22:30 NullPointer_C 阅读(34) 评论(0) 推荐(0)
摘要: 剑指 Offer 05. 替换空格 如果用Java语言的话,就比较简单了,只需要在遍历时,判断正遍历的字符是否为空格字符,若为空格字符,则在新串里添加$"%20"$即可。 class Solution { public String replaceSpace(String s) { StringBu 阅读全文
posted @ 2022-01-17 22:22 NullPointer_C 阅读(32) 评论(0) 推荐(0)
摘要: 在学习算法题的过程中,最常见的就是字符串输入,一般都会涉及到几个不同的头文件,这里总结一下这几个同文件的异同之处。 <string.h> <string.h>是C语言中和字符串相关的头文件。C语言的内置数据类型中不包括字符串,只有字符数组char[],<string.h>中将字符数组的一些常用操作封 阅读全文
posted @ 2022-01-16 19:26 NullPointer_C 阅读(487) 评论(0) 推荐(0)
摘要: 770. 单词替换 [题目描述] 输入一个字符串,以回车结束(字符串长度不超过 100)。 该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。 现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。 [输入格式] 输入共 3 行。 第 1 行是包含多个单词的字符串 s; 阅读全文
posted @ 2022-01-16 19:04 NullPointer_C 阅读(183) 评论(0) 推荐(0)
摘要: 剑指 Offer 35. 复杂链表的复制 本题要求的是复制原链表,所以对于每一个原节点,都需要有一个和它相对应的老节点,从而我们建立一个老节点和新节点的映射关系,old2new,用来存储老节点和新节点的映射关联关系。 先遍历一趟原链表,将所有的节点都创建与之对应的新节点。 再遍历一趟链表时,将每个节 阅读全文
posted @ 2022-01-16 11:49 NullPointer_C 阅读(48) 评论(0) 推荐(0)
摘要: 剑指 Offer 24. 反转链表 新建虚拟头,遍历原链表解法 一个比较简单可以将所有操作融合的解法是先新建一个虚拟头,然后依次遍历原链表,每次将正在遍历的位置插入到头结点,这样遍历完成后,得到的就是反转后的链表。 /** * Definition for singly-linked list. * 阅读全文
posted @ 2022-01-16 11:23 NullPointer_C 阅读(105) 评论(0) 推荐(0)
摘要: 剑指 Offer 06. 从尾到头打印链表 递归解法 这里的一个比较简单的办法就是递归,由于需要的是从尾部开始打印链表,所以也就是递归出栈时打印,所以添加元素的操作在出栈时完成。 /** * Definition for singly-linked list. * public class List 阅读全文
posted @ 2022-01-16 10:52 NullPointer_C 阅读(35) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 下一页