12 2018 档案

摘要:1.题目描述 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 示例 1: 注意: 输入数组的长度不会超 阅读全文
posted @ 2018-12-28 11:26 Timothy_prayer 阅读(826) 评论(0) 推荐(0)
摘要:1.vector的初始化 阅读全文
posted @ 2018-12-27 21:00 Timothy_prayer 阅读(135) 评论(0) 推荐(0)
摘要:占个位置。。。 阅读全文
posted @ 2018-12-25 10:30 Timothy_prayer 阅读(135) 评论(0) 推荐(0)
摘要:1.题目描述 给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在, 阅读全文
posted @ 2018-12-24 16:56 Timothy_prayer 阅读(315) 评论(0) 推荐(0)
摘要:1.题目描述 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求: 你需要按顺序输出你设计的页面的长度 L 和宽度 W。 示例: 说明: 2.解法一:耗时216ms 关键为循环条 阅读全文
posted @ 2018-12-21 15:33 Timothy_prayer 阅读(234) 评论(0) 推荐(0)
摘要:用于做整理的编号,000,111,222,……999 阅读全文
posted @ 2018-12-21 12:14 Timothy_prayer 阅读(128) 评论(0) 推荐(0)
摘要:1.变量命名规范 变量命名有许多约定俗成的规范,下面的这些规范能有效提高程序的可读性: 标识符要能体现实际含义(顾名思义)。 变量名一般用小写字母,如index,不要使用Index或INDEX。 用户自定义的类名一般以大写字母开头,如Sales_item。 如果标识符由多个单词组成,则单词间应有明显 阅读全文
posted @ 2018-12-21 12:13 Timothy_prayer 阅读(143) 评论(0) 推荐(0)
摘要:1.friend 友元 将一个函数定义为friend,可以读取private数据; 显然,friend提供便利的同时,会破坏C++的封装性,因此,建议谨慎使用,朋友多了也许是个困扰。 2.相同class的各个objects互为friends 阅读全文
posted @ 2018-12-21 12:11 Timothy_prayer 阅读(212) 评论(0) 推荐(0)
摘要:1.参数传递 参数传递:pass by value vs. pass by reference(to const) 推荐:能传引用,尽量传引用(高效,尤其在需要拷贝的对象很大时) 2.返回值传递 返回值传递:return by value vs. return by reference(to con 阅读全文
posted @ 2018-12-21 12:03 Timothy_prayer 阅读(174) 评论(0) 推荐(0)
摘要:1.引例 2.const使用 类class里面的函数分两种: 会改变数据 :不能加const; 确定不会改变数据 :立马加const(强烈建议); 对于引例中的类,可能的调用方式: 为什么强烈建议,对于不会改变数据的函数,立马加const? 因为类设计出来是要给人使用,要充分考虑使用者会怎么使用。上 阅读全文
posted @ 2018-12-21 11:59 Timothy_prayer 阅读(214) 评论(0) 推荐(0)
摘要:1.题目描述 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。 水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 阅读全文
posted @ 2018-12-20 17:24 Timothy_prayer 阅读(357) 评论(0) 推荐(0)
摘要:1.题目描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 示例 2: 示例 3: 2.解法一:递归 3.解法二:非递归--栈(先序遍历) 3.1 使用2个栈 我的粗糙代码 3.2 使用1个栈 更加精巧的解法,来源于 阅读全文
posted @ 2018-12-19 18:17 Timothy_prayer 阅读(203) 评论(0) 推荐(0)
摘要:1.题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 示例 2: 示例 3: 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 2.<limits 阅读全文
posted @ 2018-12-17 17:46 Timothy_prayer 阅读(178) 评论(0) 推荐(0)
摘要:1.题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 2.一般解法 3.优化代码 阅读全文
posted @ 2018-12-17 17:25 Timothy_prayer 阅读(160) 评论(0) 推荐(0)
摘要:1.题目描述 编写一个函数,其作用是将输入的字符串反转过来。 示例 1: 示例 2: 2.复杂解法 3.简洁解法 string可以直接用下标或迭代器访问字符串中的字母。 阅读全文
posted @ 2018-12-17 17:20 Timothy_prayer 阅读(207) 评论(0) 推荐(0)
摘要:1.题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 示例 2: 说明: 元音字母不包含字母"y"。 2.思路一:单向遍历,找出元音 Leetcode提交运行时间8ms. 3.思路二:两端从中间遍历,找到立即交换 3.1 下标访问string 3.2 迭代器访问str 阅读全文
posted @ 2018-12-17 16:35 Timothy_prayer 阅读(212) 评论(0) 推荐(0)
摘要:1.普通类 2.模板类 阅读全文
posted @ 2018-12-14 12:24 Timothy_prayer 阅读(370) 评论(0) 推荐(0)
摘要:1.一个引例 2.构造函数的特点 3.初始列定义构造函数默认实参 注意,一般的函数也是可以定义默认实参的,以下就是一个通用的方式 然而,上面的方式效率不是最高的。一般地,数据处理有两个阶段,即“初始化”和“赋值”,上面的方式直接跳过了阶段一,效率偏低。 对于构造函数,可以使用初始列(初值列)的方式来 阅读全文
posted @ 2018-12-14 12:18 Timothy_prayer 阅读(280) 评论(0) 推荐(0)
摘要:1.引用头文件 标准头文件 #include <iostream> 自定义头文件 #include "complex.h" 2.防卫式(guard)声明 阅读全文
posted @ 2018-12-12 17:41 Timothy_prayer 阅读(127) 评论(0) 推荐(0)
摘要:1.二叉树的序列化 输入的一棵树: 2.二叉树的反序列化 2.1 上面采用的先序遍历序列化,方便再反序列化回来: 字符串的第一个结点就是根结点; 先序遍历的非递归写法,用栈容易实现; 字符串的第一个结点就是根结点; 先序遍历的非递归写法,用栈容易实现; 2.2 测试的完整代码,通过字符串还原成树,再 阅读全文
posted @ 2018-12-11 12:13 Timothy_prayer 阅读(988) 评论(0) 推荐(0)
摘要:1.问题描述 给定一个二叉树,返回它的中序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2.解法一:递归 中序遍历:L--N--R (左--根--右) 3.递归与迭代的区别 递归:A反复调用A自身 迭代:A不停调用B (B是利用变量的原值推算出变量的一个新值) 递归:A反复调 阅读全文
posted @ 2018-12-11 11:43 Timothy_prayer 阅读(236) 评论(0) 推荐(0)
摘要:1.java版本 2.C++版本(待整理) …… 阅读全文
posted @ 2018-12-11 11:07 Timothy_prayer 阅读(842) 评论(0) 推荐(0)
摘要:1.题目描述 给定一个二叉树,返回它的 前序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2.解法一:递归 3.解法二:非递归(栈) 栈的作用: 1.逆序:abc输入,cba输出; 2.路径的回溯:a-->b-->c-->d,特别是树的深度优先遍历,也是这道题的用处。(不分析 阅读全文
posted @ 2018-12-10 21:31 Timothy_prayer 阅读(183) 评论(0) 推荐(0)
摘要:1.不空才能出栈 类似的,对于队列,堆等数据结构都是这样,只有不空的时候,才能进行“出”的操作; 对于链表等,只有不空的时候才能删除; 2018.12.07 调试经历 1)题目:Leetcode 445. 两数相加 II 的第3部分内容; 2)过程:忽略了栈的不空才能出栈,在前面没有加if判断,栈空 阅读全文
posted @ 2018-12-07 15:59 Timothy_prayer 阅读(342) 评论(0) 推荐(0)
摘要:1.题目描述 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 2.解法一 阅读全文
posted @ 2018-12-06 21:38 Timothy_prayer 阅读(355) 评论(0) 推荐(0)
摘要:1.题目描述(简单题) 给定一个二进制数组, 计算其中最大连续1的个数。 示例 1: 注意: 输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。 输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。 2.思路与代码 2.1 解题思路 首先,整个n 阅读全文
posted @ 2018-12-04 16:59 Timothy_prayer 阅读(408) 评论(0) 推荐(0)
摘要:1.数字成绩输出为字母等级 2.特定字母和空格等统计 3.含空格字符串的输入 参考资料: 1.《C++ Primer》中文版(第五版),Stanley B.Lippman等著,电子工业出版社 2.《C++ Primer》习题集(第五版),Stanley B.Lippman等著,电子工业出版社 阅读全文
posted @ 2018-12-03 20:32 Timothy_prayer 阅读(390) 评论(0) 推荐(0)