摘要:
题目如下: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 先上代码: 1 class Solution { 2 public: 3 int FirstNotRepeatingChar(strin 阅读全文
摘要:
题目: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 思路: 关于这个题目的思路,我在此不进行过多的 阅读全文
摘要:
题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。 先上代码: 1 class Solution { 2 private: 3 vector<int> 阅读全文
摘要:
题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度 阅读全文
摘要:
这个题看似很简单: 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 阅读全文
摘要:
题目来源:剑指offer 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 数组类题目指导原则:除了极其傻瓜式的题目,大部分数组类的题目都要用到 “双索引“策略 阅读全文
摘要:
使用vscode可以完成轻量级的编译器环境搭建,使用vscode 搭建完整的c++开发环境见下网站: https://www.bilibili.com/video/av18436497/?spm_id_from=333.788.videocard.0 上述网站描述了必要软件的下载和安装,以及demo 阅读全文
摘要:
通常,当我们定义:一个字符串时候,会采用下面两种方式: 1 char str[] = “hello world!” 2 char* str = “hello world!” 通常我们会认为上面两行代码表达的含义是相同的,甚至完全等价。 我们看下面一段代码: 1 int main() 2 { 3 ch 阅读全文
摘要:
对于有些编译器而言,使用vector<vector<int>> vec;并不能通过,必须采用vector<vector<int> >vec才可以通过。两者的区别在于>> 和 > >,即>和>之间应该有空格。 关于利用vector<vector<int> > vec定义一个二维矩阵,如果想获取vec的 阅读全文