- 博客(24)
- 收藏
- 关注
原创 3. Longest Substring Without Repeating Characters
暴力的方法,刚开始substr 用错导致走了很多弯路,需要注意的是第一个参数是首个下标,第二的参数是截取的长度,还需要注意的是s.substr(0,length) 才是整个字符串,所以第二个循环j<=length; 路漫漫其修远,还要加油呀!以前没怎么接触过算法,所以想先写个暴力的算法让自己先理解,然后再试其它优化的方法 #include<iostream> #include ...
2018-12-12 11:05:32
199
原创 leetcode5 Longest Palindromic Substring
O(n^3)时间复杂度方法——暴力求解 1.思想: 1)从最短的子串开始,遍历所有该原字符串的子串; 2)每找出一个字符串,就判断该字符串是否为回文; 3)子串为回文时,则找到了最长的回文子串,因此结束;反之,则继续遍历。 //采用暴力的方式进行求解 class Solution { public: string isPalindrome(string s) { str...
2018-12-11 22:19:23
172
原创 153. Find Minimum in Rotated Sorted Array
取数组的中间位置的值: 如果它比数组末尾的值大,说明最小元素就位于[mid + 1, right]之间。//不取mid 是因为已经比末尾的值大 否则,最小元素一定在[left, mid]中// mid 的值不能舍去还有可能成为最小值。 这道题是一个二分法的变形,被二分的边界条件搞得比较晕… // 旋转数组也是半有序的数组//这里面是没有重复的所以是不可能相等的 class Solution { p...
2018-12-10 17:59:51
172
原创 leetcode Merge sorted array
这道题采取的是从后往前填补的方式,如果还只剩下num1 就已经是完全排好序的如果nums2更加长然后还需要填充到num1里面 using namespace std; class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {...
2018-12-10 15:35:08
179
原创 leetcode 58. Length of Last Word
这道题主要要注意string 末尾有很多空格的情况,C++ 里面空格的判断是用单引号,顺便学习一下revese 需要#include #include<algorithm> class Solution { public: int lengthOfLastWord(string s) { int num = s.size(); if ...
2018-12-10 14:49:36
153
原创 leetcode 26 从重复中的数组中删除相同的元素并且返回长度
相同的元素直接覆盖的方法 class Solution { public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) return 0; if(nums.size()==1) return 1; int index=0; /...
2018-12-09 23:59:15
201
原创 leetcode 9判断是不是回文数字
不可以采用回文字符串的方式 两种方法: 第一种方法是对先进行一个reverse 判断两个数字是否相等即可 第二种方法采用的是判断迭代首位和末尾的是否相等;出去首位% 末位/10 的技巧 博客中给出的是第二种方法 class Solution { public: bool isPalindrome(int x) { if(x<0) return...
2018-12-09 19:52:43
169
原创 leetcode 1 two sum
改进版本 //#include&amp;amp;lt;tr1/unordered_map&amp;amp;gt; #include &amp;amp;lt;iostream&amp;amp;gt; #include &amp;amp;lt;vector&amp;amp;gt; #include &amp;amp;lt;cassert&amp;amp;gt; #include &am
2018-12-09 16:58:28
134
原创 map和 unorder_map的遍历
map&lt;int,int&gt; record; map&lt;int,int&gt; ::iterator it;// it=record.begin(); while(it != record.end()) { cout&lt;&lt;"first-&gt;:"&lt;&lt;
2018-12-09 16:35:05
4443
原创 leet code 7 reverse Integer主要是考查溢出
class Solution { public: int reverse(int x) { bool flag=false; if(x<0) { flag=true; x=x*(-1); } int res=0; int temp=0; while(x) ...
2018-12-09 15:50:14
144
原创 leetcode 2 add two sum 包含链表创建和打印的程序易于测试
#include <iostream> #include <algorithm> using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; //打印链表 void print...
2018-12-09 14:33:00
305
1
原创 冒泡排序新的理解
void bubblesort(int *arr,int n) { // 记得这里的n是下表不然的话会产生月结没有arr[10],我们这里采用的策略是把1-n-1 的数字选进行冒泡,1-n-2 的数字进行冒泡 1-n-3的数字进行冒泡,进行冒泡实际上就是宣导一个最大值,但是要注意的是下标,如果1 对应的是0,那么n-1 对应的就是n-2 // for(int i = n-2 ; i ...
2018-12-09 12:09:57
249
原创 leetcode167 two sum 的问题
#include<iostream> using namespace std; #include<vector> class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { int low=0; int high=n...
2018-11-21 09:36:11
119
原创 二分法
**#include <iostream> using namespace std; template <typename T> int binary_search(T *arr,int n,T target) { int l=0; int r=n-1;//在[l....r 的范围里面寻找target] while(l<=r)//我们是在一个闭区间去寻找...
2018-11-20 22:17:16
120
原创 剑指offer 面试题目三
//剑指offer 面试题目三 //相当于哈希表的方式 #include&amp;lt;iostream&amp;gt; using namespace std; int GetDuplication(int data[],int num) { int *data2=new int [num]; int i=0; //初始化为0 while(i&amp;lt;num) { data2[i]=0; i...
2018-10-31 09:40:22
348
原创 快速排序算法
快速排序算法 #include<iostream> using namespace std; void swap(int *a ,int *b) { int temp; temp=*a; *a=*b; *b=temp; } int Partion(int data[],int low,int high) { int pivotkey; pivotk...
2018-10-31 00:00:50
112
原创 插入排序
插入排序 插入排序 算法流程: 插入排序类似整理扑克牌,将每一张牌插到其他已经有序的牌中适当的位置。 插入排序由N-1趟排序组成,对于P=1到N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态。 简单的说,就是插入排序总共需要排序N-1趟,从index为1开始,讲该位置上的元素与之前的元素比较,放入合适的位置,这样循环下来之后,即为有序数组。 #include<iostream>...
2018-10-30 23:11:52
131
原创 选择排序算法
选择排序算法 int SortSelect(int data[],int num) { for(int i=0;i&lt;num;i++) { int min=i; for(int j=i;j&lt;num;j++) { if(data[min]&gt;data[j]) min=j; } // cout&lt;...
2018-10-30 21:56:40
116
原创 冒泡排序法
非计算机学渣渣一枚,学习笔记记录 冒泡排序法 #include&amp;amp;amp;lt;iostream&amp;amp;amp;gt; using namespace std; int Sort() { } int main() { int data[10]={2,56,100,10,6,2,4,3,6,1}; int num=sizeof(data) /sizeof(data[0]); int j=0; whi...
2018-10-30 18:35:46
162
原创 剑指offer面试题57 :和S的数字
非科班的女渣硕士,用博客记录一下自己学的东西,有些错误还望大家指点,谢谢! new 创建一个动态数组 int *f=new a[10], delete [] f 求数组的长度 `int num=sizeof(data) /sizeof(data[0]);` #include&amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;gt; using namespace std; //O(n*n
2018-10-30 14:54:16
164
原创 求数组的长度
##求数组的长度 Int data[10]={1,2,3,7,6,3,22,9,10,19}; int num=sizeof(data) /sizeof(data[0]); cout&lt;&lt;num&lt;&lt;endl; ```
2018-10-30 13:42:38
6684
转载 c++中cout输出字符串首地址
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/Compile_the_life/article/details/45894883 char *p="hello";cout&lt;&lt;p; 在我们的印象中此时会输出字符串的首地址,然而此时co...
2018-10-29 23:57:52
3840
1
转载 转C语言中,为什么字符串可以赋值给字符指针变量
本文是通过几篇转帖的文章整理而成的,内容稍有修改: 一、 C语言中,为什么字符串可以赋值给字符指针变量 char *p,a=‘5’; p=&a; //显然是正确的, p=“abcd”; //但为什么也可以这样赋值?? 问:一直理解不了为什么可以将字串常量赋值给字符指针变量,请各位指点! 答: 双引号做了3件事: 1.申请了空...
2018-10-29 23:26:09
599
翻译 常量指正和指针常量的区别
常量指正和指针常量的区别常量指针指针常量导入 常量指针 // An highlighted block const char *name1="John";//常量指针, char s[]="abc"; name1=s; cout&lt;&lt;name1&lt;&lt;endl;// 输出abc,name1存放的地址可以改变 指针常量 const
2018-10-29 22:46:27
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅