- 博客(24)
- 收藏
- 关注
原创 3. Longest Substring Without Repeating Characters
暴力的方法,刚开始substr 用错导致走了很多弯路,需要注意的是第一个参数是首个下标,第二的参数是截取的长度,还需要注意的是s.substr(0,length) 才是整个字符串,所以第二个循环j<=length;路漫漫其修远,还要加油呀!以前没怎么接触过算法,所以想先写个暴力的算法让自己先理解,然后再试其它优化的方法#include<iostream>#include ...
2018-12-12 11:05:32 156
原创 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 127
原创 153. Find Minimum in Rotated Sorted Array
取数组的中间位置的值:如果它比数组末尾的值大,说明最小元素就位于[mid + 1, right]之间。//不取mid 是因为已经比末尾的值大否则,最小元素一定在[left, mid]中// mid 的值不能舍去还有可能成为最小值。这道题是一个二分法的变形,被二分的边界条件搞得比较晕…// 旋转数组也是半有序的数组//这里面是没有重复的所以是不可能相等的class Solution {p...
2018-12-10 17:59:51 127
原创 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 122
原创 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 113
原创 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 155
原创 leetcode 9判断是不是回文数字
不可以采用回文字符串的方式两种方法:第一种方法是对先进行一个reverse 判断两个数字是否相等即可第二种方法采用的是判断迭代首位和末尾的是否相等;出去首位% 末位/10 的技巧博客中给出的是第二种方法class Solution {public: bool isPalindrome(int x) { if(x<0) return...
2018-12-09 19:52:43 131
原创 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 96
原创 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 4379
原创 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 96
原创 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 252 2
原创 冒泡排序新的理解
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 197
原创 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 83
原创 二分法
**#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 78
原创 剑指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 121
原创 快速排序算法
快速排序算法#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 85
原创 插入排序
插入排序插入排序算法流程:插入排序类似整理扑克牌,将每一张牌插到其他已经有序的牌中适当的位置。插入排序由N-1趟排序组成,对于P=1到N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态。简单的说,就是插入排序总共需要排序N-1趟,从index为1开始,讲该位置上的元素与之前的元素比较,放入合适的位置,这样循环下来之后,即为有序数组。#include<iostream>...
2018-10-30 23:11:52 97
原创 选择排序算法
选择排序算法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 87
原创 冒泡排序法
非计算机学渣渣一枚,学习笔记记录冒泡排序法#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 122
原创 剑指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 119
原创 求数组的长度
##求数组的长度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 6581
转载 c++中cout输出字符串首地址
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Compile_the_life/article/details/45894883 char *p="hello";cout&lt;&lt;p;在我们的印象中此时会输出字符串的首地址,然而此时co...
2018-10-29 23:57:52 3712 1
转载 转C语言中,为什么字符串可以赋值给字符指针变量
本文是通过几篇转帖的文章整理而成的,内容稍有修改:一、C语言中,为什么字符串可以赋值给字符指针变量char *p,a=‘5’;p=&a; //显然是正确的,p=“abcd”; //但为什么也可以这样赋值??问:一直理解不了为什么可以将字串常量赋值给字符指针变量,请各位指点!答:双引号做了3件事:1.申请了空...
2018-10-29 23:26:09 539
翻译 常量指正和指针常量的区别
常量指正和指针常量的区别常量指针指针常量导入常量指针// 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 117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人