- 博客(72)
- 收藏
- 关注
原创 <4>C++ Primer 变量
一、变量1.什么是变量变量是提供一个具名的、可供程序操作的存储空间。也就是说变量,具有自己独特的名字,存储空间和公共类型。对于c++程序员来说,变量(variable)和对象(object)一般可以互换使用。#includeusing namespace std;class Dog{};int main(){ int i; Dog dog;}这里的i
2017-11-25 17:41:26 201
原创 <2>C++ Primer基本内置类型
基本内置类型1.void类型void doA(){}空类型,这个类型的函数没有返回值。2.int型int doB(){ int a=4; return a;}整型,返回值为整数,创建的变量也为整数。3.float型float doC(){ float c=0.1; return c;}浮点型,返回值为浮
2017-09-21 22:06:48 272
原创 <1>C++ Primer入门基础
入门基础1.最简单的c++代码int main(){ return 0;}最简单的代码,只有一个int 类型的主函数,返回值为0。这里的0是返回给windows机器的,表示代码正常运行。如果返回一个非0的数,表示代码异常。这是最简单的代码,每一个.cpp程序都必须含有的。2.标准的输入和输出标志的输入和输出都存储在#include头文件里,它是c++自带头
2017-09-20 20:58:55 307
原创 C++ Primer之再续前缘
C++ Primer之再续前缘起因:昨天参加了蓝港互娱的面试,在面试的过程中,被面试官点出自己在C++方面的基础太过薄弱。自己回想这段时间的日程,花费在C++上的时间确实太过短暂。所以在这几天找工作的经历中频频摸襟见肘。过往的知识点遗忘的差不多了。而复习力度却完全不够。思之想之还是应该从头再来。所以就有了这篇文章。结论:从今日起开始C++ Primer的在次学习之旅。这一次不同
2017-09-20 18:48:21 228
原创 <35>——Search Insert Position
35、Search Insert Position搜索插入位置给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。你可以假设在数组中无重复元素。样例[1,3,5,6],5 → 2[1,3,5,6],2 → 1[1,3,5,6], 7 → 4[1,3,5,6],0 → 0分析
2017-09-20 14:22:28 211
原创 <34>——Search for a Range
34、Search for a Range搜索区间给定一个包含 n 个整数的排序数组,找出给定目标值 target 的起始和结束位置。如果目标值不在数组中,则返回[-1, -1]样例给出[5, 7, 7, 8, 8, 10]和目标值target=8,返回[3, 4]分析:先用二分查找找出第一个target,然后往后遍历查找最后一个ta
2017-09-20 14:07:15 229
原创 <33>——Search in Rotated Sorted Array
33、Search in Rotated Sorted Array搜索旋转排序数组假设有一个排序的按未知的旋转轴旋转的数组(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。样例给出[4, 5, 1, 2, 3]和
2017-09-20 13:48:06 195
原创 <32>——Longest Valid Parentheses
32、Longest Valid Parentheses最长有效括号给定一个仅仅包含'('或 ')'的字符串,找出其中最长有效括号组成的子集的长度。字符串"(()",它的最长有效号符子集是"()",长度为2。另一个例子")()())",它的最长有效括号子集是"()()",长度是4。分析:这道题的难点在于,判断括号有效后,还需要记录括号的有效长度。我们使用
2017-09-19 22:34:41 404
原创 <31>——Next Permutation
31、Next Permutation下一个排列给定一个整数数组来表示排列,找出其之后的一个排列。 注意事项排列中可能包含重复的整数样例给出排列[1,3,2,3],其下一个排列是[1,3,3,2]给出排列[4,3,2,1],其下一个排列是[1,2,3,4]分析:下一个排列,即组成下一个比他大的数字,如:1359
2017-09-09 21:50:51 204
原创 <30>——Substring with Concatenation of All Words
现有一组长度相等的字符串words,要在原字符串中找出正好包含words中所有字符串的子字符串的起始位置。 例子: 输入: s = “barfoothefoobarman”, words = [“foo”, “bar”] 输出: [0, 9]
2017-09-09 20:21:11 217
原创 <28>—— Implement strStr()
28、 Implement strStr()字符串查找对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。样例如果 source = "source" 和 target = "target",返回 -1。如果 source =
2017-09-08 21:51:18 229
原创 <27>——Remove Element
27、Remove Element删除元素给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。元素的顺序可以改变,并且对新的数组不会有影响。样例给出一个数组 [0,4,4,0,0,2,4,4],和值 4返回 4 并且4个元素的新数组为[0,0,0,2]分析:与上一题相似,只是将比较数字改为固定数字。代码:clas
2017-09-08 20:52:40 165
原创 <26>——Remove Duplicates from Sorted Array
26、Remove Duplicates from Sorted Array删除排序数组中的重复数字给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。样例给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。分析:
2017-09-06 22:46:09 171
原创 <25>——Reverse Nodes in k-Group
25、Reverse Nodes in k-GroupK组翻转链表给你一个链表以及一个k,将这个链表从头指针开始每k个翻转一下。链表元素个数不是k的倍数,最后剩余的不用翻转。样例给出链表 1->2->3->4->5k = 2, 返回 2->1->4->3->5k = 3, 返回 3->2->1->4->5代码:/** *
2017-09-05 22:51:04 218
原创 <24>—— Swap Nodes in Pairs
24、 Swap Nodes in Pairs两两交换链表中的节点给一个链表,两两交换其中的节点,然后返回交换后的链表。样例给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。挑战 你的算法只能使用常数的额外空间,并且不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。代码:/** *
2017-09-05 19:27:26 202
原创 <23>——Merge k Sorted Lists
23、Merge k Sorted Lists合并k个排序链表合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。样例给出3个排序链表[2->4->null,null,-1->null],返回 -1->2->4->null分析:也就是合并2个排序链表的扩展。我的代码:/** * Definition for sing
2017-09-05 19:10:58 211
原创 <22>——Generate Parentheses
22、Generate Parentheses生成括号给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。样例给定 n = 3, 可生成的组合如下:"((()))", "(()())", "(())()", "()(())", "()()()"分析:1.排列组合问题,可以使用递归按顺序添加括号,将所有可能列出(回溯法
2017-09-04 22:19:34 194
原创 <21>—— Merge Two Sorted Lists
21、Merge Two Sorted Lists合并两个排序链表将两个排序链表合并为一个新的排序链表样例给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。代码:/** * Definition for singly-linked list. * struct Li
2017-09-04 21:33:08 159
原创 <20>——Valid Parentheses
20、Valid Parentheses有效的括号序列给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。样例括号必须依照 "()" 顺序表示, "()[]{}" 是有效的括号,但 "([)]"则是无效的括号。分析:使用栈,左括号进栈,右括号出栈,
2017-09-04 20:57:06 186
原创 <19>——Remove Nth Node From End of List
19、Remove Nth Node From End of List删除链表中倒数第n个节点给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 注意事项链表中的节点个数大于等于n样例给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->nu
2017-09-04 17:52:53 231
原创 <18>——4Sum
18、4Sum四数之和给一个包含n个数的整数数组S,在S中找到所有使得和为给定整数target的四元组(a, b, c, d)。 注意事项四元组(a, b, c, d)中,需要满足a 答案中不可以包含重复的四元组。样例例如,对于给定的整数数组S=[1, 0, -1, 0, -2, 2] 和 target=0. 满足要求
2017-09-04 17:20:56 199
原创 <17>——Letter Combinations of a Phone Number
17、Letter Combinations of a Phone Number电话号码的字母组合给定一个数字字符串,返回所有可能的字母组合,可以代表。一个映射的数字字母(就像在电话里按钮)如下所示。 注意事项以上的答案是按照词典编撰顺序进行输出的,不过,在做本题时,你也可以任意选择你喜欢的输出顺序。样例给
2017-09-04 13:07:40 299
原创 <16>——3Sum Closest
16、3Sum Closest最接近的三数之和给一个包含 n 个整数的数组 S, 找到和与给定整数 target 最接近的三元组,返回这三个数的和。 注意事项只需要返回三元组之和,无需返回三元组本身样例例如 S = [-1, 2, 1, -4] and target = 1. 和最接近 1 的三元组是 -1 + 2 +
2017-09-03 22:50:45 189
原创 <15>——3Sum
15、3Sum三数之和给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 注意事项在三元组(a, b, c),要求a 结果不能包含重复的三元组。样例如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:(-1, 0, 1)(-1,
2017-09-03 22:05:20 187
原创 <14>——Longest Common Prefix
14、Longest Common Prefix最长公共前缀给k个字符串,求出他们的最长公共前缀(LCP)样例在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"代码:class Solution {public: s
2017-09-03 21:27:01 185
原创 <13>—— Roman to Integer
13、Roman to Integer罗马数字转整数给定一个罗马数字,将其转换成整数。返回的结果要求在1到3999的范围内。样例IV -> 4XII -> 12XXI -> 21XCIX -> 99代码:class Solution {public: int romanToInt(string s) { if
2017-09-03 20:51:17 212
原创 <12> ——Integer to Roman
12、 Integer to Roman整数转罗马数字给定一个整数,将其转换成罗马数字。返回的结果要求在1-3999的范围内。罗马数字罗马数字没有0。1~9 I,II,III,IV,V,VI,VII,VIII,IX String X[] = {"","X","XX","XXX","XL","L",
2017-09-03 13:29:13 215
原创 <11>——Container With Most Water
11、Container With Most Water装最多水的容器给定 n 个非负整数 a1, a2, ..., an, 每个数代表了坐标中的一个点 (i, ai)。画 n 条垂直线,使得 i 垂直线的两个端点分别为(i, ai)和(i, 0)。找到两条线,使得其与 x 轴共同构成一个容器,以容纳最多水。 注意事项容器不可倾斜。
2017-09-03 12:49:58 158
原创 <10>——Regular Expression Matching
10、Regular Expression Matching正则表达式匹配实现支持'.'和'*'的正则表达式匹配。'.'匹配任意一个字母。'*'匹配零个或者多个前面的元素。匹配应该覆盖整个输入字符串,而不仅仅是一部分。样例isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch
2017-09-03 11:44:26 196
原创 <9>—— Palindrome Number
9、 Palindrome Number回文数判断一个正整数是不是回文数。回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。 注意事项给的数一定保证是32位正整数,但是反转之后的数就未必了。样例11, 121, 1, 12321 这些是回文数。23, 32, 1232 这些不是回文数。代码:
2017-09-02 22:17:27 257
原创 <8>——String to Integer (atoi)
8、String to Integer (atoi)转换字符串到整数实现atoi这个函数,将一个字符串转换为整数。如果没有合法的整数,返回0。如果整数超出了32位整数的范围,返回INT_MAX(2147483647)如果是正整数,或者INT_MIN(-2147483648)如果是负整数。样例"10" =>10"-1" => -1"123123123123
2017-09-01 23:02:46 235
原创 <7>——Reverse Integer
7、 Reverse Integer反转整数将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。样例给定 x = 123,返回 321给定 x = -123,返回 -321代码:class Solution{public: int reverse(int x) { long y =
2017-09-01 22:06:31 155
原创 Effective<1>——让自己习惯c++
让自己习惯C++条款01:视C++为一个语言联邦今天的c++已经是个多重范型编程语言,一个同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。主要可以分为四个次语言:1.C。C++仍是以C为基础。区块(blocks)、语句(statements)、预处理器(perprocessor)、内置数据类型(built-in data types)、数组(arrays)、指针(
2017-09-01 21:53:38 256
原创 <6>——ZigZag Conversion
六、ZigZag Conversion锯齿变换题目大意:输入一个字符串和int型(锯齿层数)将字符串以锯齿变化重新排序例:“HAIZEIKEJILAOCHUANZHANG",numRows=5通过如下形式转换:ret="HJAAEIUNIKLHZGZIACHNEOA";解析:周期:z=n+(n-2);顶层:每周期第一个元素中间层:j行
2017-08-31 19:34:30 198
原创 <5>—— Longest Palindromic Substring
5、Longest Palindromic Substring最长回文子串给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。样例给出字符串 "abcdzdcab",它的最长回文子串为 "cdzdc"。挑战 O(n2) 时间复杂度的算法是可以接受的,如果你能用 O(n)
2017-08-30 19:24:05 177
原创 <4>—— Median of Two Sorted Arrays
4、 Median of Two Sorted Arrays两个排序数组的中位数两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。样例给出数组A = [1,2,3,4,5,6] B = [2,3,4,5],中位数3.5给出数组A = [1,2,3] B = [4,5],中位数 3
2017-08-21 23:00:18 174
原创 <3>—— Longest Substring Without Repeating Characters
3、Longest Substring Without Repeating Characters最长无重复字符的子串给定一个字符串,请找出其中无重复字符的最长子字符串。样例例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3。对于,"bbbbb",其无重复字符的最长子字符串为"b",长度为1。代码:
2017-08-19 17:15:20 191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人