- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 交叉字符串(medium)
要点: 1.交叉长度可不一致 2.交叉顺序 3.以谁结尾 4.s3比s1.size()多出的一部分未必全来自较长的s2.
2016-07-27 16:11:40 457
原创 两个字符串是否是变位词(直接lintcode敲代码,一次通过,噢耶!)
class Solution {public: /** * @param s: The first string * @param b: The second string * @return true or false */ bool anagram(string s, string t) { // write your c
2016-07-26 18:55:35 283
原创 判断字符串中是否没有重复的字符
bug1: 错误原因: 是查找有没有重复的字符,而不是字母 成功代码:class Solution {public: /** * @param str: a string * @return: a boolean */ bool isUnique(string &str) { // write your code here
2016-07-26 16:47:59 585
原创 LintCode(easy)翻转字符串
bug1for (int i = 0; i < s.size(); i++){ //if (s[0] == ' ') s.erase(0, 1); //if (s[s.size()-1] == ' ') s.erase(s.size()-1, 1); if (s[i] == ' '&&s[i - 1] == ' ') {
2016-07-26 11:27:19 483 1
原创 LintCode(easy)旋转字符串(!!!我有史以来解决的问题最快的一次,心酸流泪)
class Solution {public: /** * @param str: a string * @param offset: an integer * @return: nothing */ void rotateString(string &str,int offset){ //wirte your code he
2016-07-23 17:18:58 417
原创 LintCode(easy)字符串查找
class Solution {public: /** * Returns a index to the first occurrence of target in source, * or -1 if target is not part of source. * @param source string to be scanned. * @pa
2016-07-23 15:39:15 674
原创 LintCode(easy)字符串查找(bug集)
目前思路: 当target字符串大于等于3时,先将target字符串的前三位单独列出来,与source字符串比较,只有与前三个字符匹配的才能进入下一步筛选,下一步则是将字符串全部比较完。 当target字符串过大,则将增加第一轮匹配的字符个数 首先,我看到题目中形参为char型字符串,然后查资料: 由于char型字符串没有可以截取它的字符串的函数,所以我决定将其转化成string,比如:ch
2016-07-22 18:45:42 348
原创 LintCode(easy)比较字符串(正确版)
class Solution {public: /** * @param A: A string includes Upper Case letters * @param B: A string includes Upper Case letter * @return: if string A contains all of the characters i
2016-07-22 14:58:17 291
原创 LintCode(容易)55.比较字符串
需注意的点: 1.字符串B中可能含有多个重复的大写字母,则A中此大写字母的个数至少要大于B中的个数。 目前的思路: 先把字符串A中26个字母的个数统计出来,按序存储在一个string型a里面,B同理,存储在string型b里面,然后直接比较a>b,true则包含。 bug1: 主要错误点:(一些小错点忽略)string a 应该为string a(26,’0’); bug2:
2016-07-22 09:36:09 892
原创 LintCode(easy)111.爬楼梯(bug集)
bug1: 原因:完全没考虑n可能为奇数,以及n=1的情况。 bug2(bug1的进阶): 原因:对n==2,规律同样不适用。 bug3(bug2进阶): 原因:此时我终于发现我的思路上的bug了,我的原意是算出跨的次数最多和最少的值,然后所有可能性都在这两者中间,所以w=n-n/2+2;(n为偶数情况下)。但是我忽略了当跨的次数相同时,跨法有很多种,比如2-2-1,1-2-2
2016-07-21 16:30:33 705
原创 LintCode(容易)365.二进制中有多少个1(正确版)
class Solution {public: /** * @param num: an integer * @return: an integer, the number of ones in num */ int countOnes(int num) { int w;int i = 0; if (num == 0)
2016-07-21 16:13:21 384
原创 LintCode(容易)二进制中有多少个1(错误集)
错误代码: bug1:int main(int num) { stringstream ss; ss << num; cout << num; string s1 = ss.str(); int timesof1 = 0; for (auto c : s1){ if (c == '1'){ timesof1++;
2016-07-20 15:11:02 471
原创 LintCode(容易)二进制求和
class Solution {public: /** * @param a a number * @param b a number * @return the result */ string addBinary(string& a, string& b) { string lg, st; lg = (a.size() >
2016-07-20 14:28:19 692
原创 LintCode(容易)二进制求和遇到的bug
之前错误代码#include<iostream>#include<string>#include<vector>#include <initializer_list>using std::initializer_list;using std::vector;using std::string;using std::cin;using std::cout;using std::end
2016-07-19 09:16:35 353
原创 Lintcode(入门)463
class Solution {public: /** * @param A an integer array * @return void */ void sortIntegers(vector<int>& A) { // Write your code here for(auto &c:A){
2016-07-18 17:21:14 268
原创 Leetcode的couting bits
#include<iostream>#include<string>#include<vector>#include <initializer_list>using std::initializer_list;using std::vector;using std::string;using std::cin;using std::cout;using std::endl;vect
2016-07-18 10:04:51 241
原创 未解决的问题(vector)
vectorvector<vector<char>> v3{ "'a','b','c'", "'v','d','g'" };// vector<vector<char>> v3{ "a,b,c", "v,d,g" };// vector<vector<int>> v3{ "1,2,3,4", "5,6,7,8" }; /*for (int i = 0; i < 2; i++){
2016-07-18 09:40:05 325
原创 LintCode398:判断数独是否合法
先判断行,再判断列。然后判断方格(!!!注意有九个方格)//判断方格代码。 for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { int row = j / 3 + i / 3*3, int col = j%3 + i%3*3;
2016-07-18 09:37:16 721
原创 C++Primer课后练习exe6.33
void digui(vector<int> m,int i){ cout << m[i]; if (i < (m.size() - 1)){ i++; digui(m, i); } }
2016-07-14 21:18:53 350
原创 exe6.17
bool A(const string &s){ bool isA = false; for (auto c : s){ if (isupper(c)){ isA = true; } } return isA;}void B( string &s){//!!!这里多加了一个const for (aut
2016-07-14 10:28:44 318
原创 exercise6.10及6.12
void exchange(int *p, int *p1){ int temp; temp = *p1; *p1 = *p; *p = temp;}exchange(&i, &w); cout << i << endl << w;
2016-07-14 09:55:09 352
原创 C++Primer(5th)第六章page190代码详解
string::size_type find_char(const string &s, char c,string::size_type &occurs){ auto ret = s.size(); occurs = 0; for (decltype(ret)i = 0; i != s.size(); i++){ if (s[i] == c){
2016-07-14 09:08:49 622
原创 C++Primer(5th)学习-数组篇
初始化: int arr[10]={…} (!!!字符数组,有一个默认的“\0”, char arr[2]={‘a’,’b’}//错误,长度至少为3. char arr[]={‘a’,’b’}//自动添加”\0”) (!!!!不可这样: int arr[2]={2,3} int brr[]=arr;) (!!!可用数组初始化vector: vector v1(begin(arr),
2016-07-13 10:50:02 408
原创 C++Primer(5th)第三章学习总结-vector篇
声明:#include using std::vector (vector是模板而非类型,vector能容纳绝大多数对象作为其元素,但是由于引用不是对象,所以不存在包含引用的vector,vector的元素也可以是vector : vectorvector<int> v1(10)//有10个元素vector<int> v2{10}//有一个元素,为10vector<int> v3(10,2)
2016-07-11 10:53:22 457
原创 C++primer(5th)第三章总结(string)
对String类型定义:string s1string对象初始化:page76 a.默认初始化:string s;//si默认空串b.拷贝初始化:string s2="value";string s2=s1;c.直接初始化:string s3("value");string s4(s3);string s4(10,'c');string s4; s4("value");//拷贝初始
2016-07-10 11:08:51 475
原创 关于c++primer不能用字符串字面值构建vector对象
Page89的vector v6 {“hi”};//错误不能用字符串字面值构建vector对象 疑问 代码验证:includeincludeincludeusing std::vector; using std::string; using std::cin; using std::cout; using std::endl;int main(){ vector v6{ “hi
2016-07-09 19:32:14 931
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人