问题描述
  在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:

对于下面的4×4的矩阵,
1 5 3 9
3 7 5 6
9 4 6 4
7 3 1 3
对其进行Z字形扫描后得到长度为16的序列:
1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3
请实现一个Z字形扫描的程序,给定一个n×n的矩阵,输出对这个矩阵进行Z字形扫描的结果。
输入格式
  输入的第一行包含一个整数n,表示矩阵的大小。
输入的第二行到第n+1行每行包含n个正整数,由空格分隔,表示给定的矩阵。
输出格式
  输出一行,包含n×n个整数,由空格分隔,表示输入的矩阵经过Z字形扫描后的结果。
样例输入
4
1 5 3 9
3 7 5 6
9 4 6 4
7 3 1 3
样例输出
1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3
评测用例规模与约定
  1≤n≤500,矩阵元素为不超过1000的正整数。
AC代码
#include<iostream>
using namespace std;

int main()
{
    int n;
    cin>>n;
    int a[600][600];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>a[i][j];
        }
    }

int m=n*2-1;
int i=0,j=0;//iÊÇÐУ¬jÊÇÁÐ
        int sum = 0;
     while(m--){
        if(sum%2==0){
                cout<<a[i][j]<<" ";
            while((j+1)<n&&(i-1)>=0){
                cout<<a[i-1][j+1]<<" ";
        j++;
        i--;
            }
            sum++;
            if(sum<n)
            {j++;
            }
            else {
                i++;
            }

        }
        else if(sum%2==1){
        cout<<a[i][j]<<" ";
            while((i+1)<n&&(j-1)>=0){
                 cout<<a[i+1][j-1]<<" ";
               // cout<<i+1<<":"<<j-1<<endl;
        i++;
        j--;

        }
           sum++;
           if(sum<n)
            {i++;
            }
            else {
                j++;
            }

     }
}
  return 0;
}

 

问题描述
  JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数据。JSON 格式中的基本单元是值 (value),出于简化的目的本题只涉及 2 种类型的值:
* 字符串 (string):字符串是由双引号 ” 括起来的一组字符(可以为空)。如果字符串的内容中出现双引号 “,在双引号前面加反斜杠,也就是用 \” 表示;如果出现反斜杠 \,则用两个反斜杠 \\ 表示。反斜杠后面不能出现 ” 和 \ 以外的字符。例如:””、”hello”、”\”\\”。
* 对象 (object):对象是一组键值对的无序集合(可以为空)。键值对表示对象的属性,键是属性名,值是属性的内容。对象以左花括号 { 开始,右花括号 } 结束,键值对之间以逗号 , 分隔。一个键值对的键和值之间以冒号 : 分隔。键必须是字符串,同一个对象所有键值对的键必须两两都不相同;值可以是字符串,也可以是另一个对象。例如:{}、{“foo”: “bar”}、{“Mon”: “weekday”, “Tue”: “weekday”, “Sun”: “weekend”}。
除了字符串内部的位置,其他位置都可以插入一个或多个空格使得 JSON 的呈现更加美观,也可以在一些地方换行,不会影响所表示的数据内容。例如,上面举例的最后一个 JSON 数据也可以写成如下形式。
{
“Mon”: “weekday”,
“Tue”: “weekday”,
“Sun”: “weekend”
}
给出一个 JSON 格式描述的数据,以及若干查询,编程返回这些查询的结果。
输入格式
  第一行是两个正整数 n 和 m,分别表示 JSON 数据的行数和查询的个数。
接下来 n 行,描述一个 JSON 数据,保证输入是一个合法的 JSON 对象。
接下来 m 行,每行描述一个查询。给出要查询的属性名,要求返回对应属性的内容。需要支持多层查询,各层的属性名之间用小数点 . 连接。保证查询的格式都是合法的。
输出格式
  对于输入的每一个查询,按顺序输出查询结果,每个结果占一行。
如果查询结果是一个字符串,则输出 STRING <string>,其中 <string> 是字符串的值,中间用一个空格分隔。
如果查询结果是一个对象,则输出 OBJECT,不需要输出对象的内容。
如果查询结果不存在,则输出 NOTEXIST。
样例输入
10 5
{
“firstName”: “John”,
“lastName”: “Smith”,
“address”: {
“streetAddress”: “2ndStreet”,
“city”: “NewYork”,
“state”: “NY”
},
“esc\\aped”: “\”hello\””
}
firstName
address
address.city
address.postal
esc\aped
样例输出
STRING John
OBJECT
STRING NewYork
NOTEXIST
STRING “hello”
评测用例规模与约定
n ≤ 100,每行不超过 80 个字符。
m ≤ 100,每个查询的长度不超过 80 个字符。
字符串中的字符均为 ASCII 码 33-126 的可打印字符,不会出现空格。所有字符串都不是空串。
所有作为键的字符串不会包含小数点 .。查询时键的大小写敏感。
50%的评测用例输入的对象只有 1 层结构,80%的评测用例输入的对象结构层数不超过 2 层。举例来说,{“a”: “b”} 是一层结构的对象,{“a”: {“b”: “c”}} 是二层结构的对象,以此类推。
AC代码
#include <iostream>
#include <string>
#include <map>
#include <cstdio>
using namespace std;

int n, m;
string s, str;
bool key;
map<string, string> json;

string handle(string str, string s)
{
    if (s.empty())
    {
        return str;
    }
    for (int i = 0; i < s.size(); i++)
    {
        if (s[i] == ' ')
        {
            continue;
        }
        else if (s[i] == '{')
        {
            json[str] = "OBJECT";
            key = true;
        }
        else if (s[i] == '}')
        {
            int i;
            for (i = str.size() - 1; i >= 0; i--)
            {
                if (str[i] == '.')
                {
                    break;
                }
            }
            if (i < 0)
            {
                str = "";
            }
            else
            {
                str = str.substr(0, i);
            }
        }
        else if (s[i] == ':')
        {
            key = false;
        }
        else if (s[i] == ',')
        {
            key = true;
        }
        else if (s[i] == '"')
        {
            string temp;
            for (i = i + 1; i < s.size(); i++)
            {
                if (s[i] == '\\')
                {
                    i++;
                    temp += s[i];
                }
                else if (s[i] == '"')
                {
                    break;
                }
                else
                {
                    temp += s[i];
                }
            }
            if (key)
            {
                if (str == "")
                {
                    str = temp;
                }
                else
                {
                    str += '.' + temp;
                }
            }
            else
            {
                json[str] = "STRING " + temp;
                int i;
                for (i = str.size() - 1; i >= 0; i--)
                {
                    if (str[i] == '.')
                    {
                        break;
                    }
                }
                if (i < 0)
                {
                    str = "";
                }
                else
                {
                    str = str.substr(0, i);
                }
            }
        }
    }
    return str;
}

int main()
{
    std::ios::sync_with_stdio(false);
    cin >> n >> m;
    cin.get();

    while (n--)
    {
        getline(cin, s);
        str = handle(str, s);
    }
    while (m--)
    {
        cin >> s;
        cout << (json[s] == "" ? "NOTEXIST" : json[s]) << endl;
    }
    return 0;
}

 

奇数回文串

定义奇数回文串是一个正读和反读都一样的,长度为奇数的字符串,比如“level”或者“non”就是奇数回文串。

请用不高于O(n^2)复杂度(以str.length()为准)的算法写出以下函数的实现代码。

int func(const std::string& str);

 

str中的字符只可能是小写的拉丁字母,该函数的返回值为str中最长的奇数回文子串的长度。 例如: str为“abba”,则函数的返回值为1。

str为“abcba”,则函数的返回值为5。

str为“eabcmcbad”,则函数的返回值为7。

str为“dddcbamabc”,则函数的返回值为7。

str为“cbamabcddd”,则函数的返回值为7。

我的代码

#include<iostream>
using namespace std;

int func(string str){
      int maxi = 0;
      int temp = 0;
      int count = 0;
      for(int i = 0; i < str.length()  ;i++){
            temp = i;
           int j = i;
           j -- ;
           i ++ ;
           while(j >= 0 && i <= str.length()-1 && str[i] == str[j]){
                count = count + 2;
                i++;
                j--;
           }
           if(count > maxi){
            maxi = count;
           }
           count = 0;
           i = temp;
      }
      return maxi+1;
}

int main(){
       string str1 = "abba";
       string str2 = "abcba";
       string str3 = "eabcmcbad";
       string str4 = "dddcbamabc";
       string str5 = "cbamabcddd";
       cout<<func(str1)<<endl;
       cout<<func(str2)<<endl;
       cout<<func(str3)<<endl;
       cout<<func(str4)<<endl;
       cout<<func(str5)<<endl;
}

排序题

实现如下函数:int GetNthCount(const int *a , int len , int n)

其中,a为无序的int数组,len为a的长度,1<= n <len。

返回第n大的值在数组中出现的次数。

举例:假设a为{5,7,9,0,2,7},len=6,n=2,第n大的值是7,在数组中出现的次数是2,结果返回2。

 

我的代码

#include<iostream>
#include<set>
#include<map>
using namespace std;

int GetNthCount(const int *a , int len ,int n){
         map < int ,int> mp;
         for(int i =0; i < len ;i++){
            map<int , int>::iterator it = mp.find(a[i]);
            if(it != mp.end()){
                it->second++;
            }
            else{
                mp[a[i]] = 1;
            }
         }
         map<int , int>::iterator it1 = mp.end();
         for(int i = 0; i < n;i++){
            it1--;
         }
        return it1->second;
}

int main(){
   int a[] = {5,7,9,0,2,7,7};
   cout<<GetNthCount(a, 7 ,2)<<endl;
}

 

Vector

实现vector中的insert方法

template<class T>

class vector

{

//从pos位置开始插入,elems为插入元素的指针地址,len为elems指向的长度

bool insert(size_t pos,T * elems,size_t len = 1);

private:

T* __begin;//容器开始地址

T* __end;//容器有效元素的结束地址

size_t  __cap;//容器的容量

};

 

void insert(const_iterator iter,const T& t )
        {  
            int index=iter-begin();
            if (index<size_)
            {
                if (size_==capacity_)
                {
                    int capa=calculateCapacity();
                    newCapacity(capa);
                }
                memmove(buf+index+1,buf+index,(size_-index)*sizeof(T)); 
                buf[index]=t;
                size_++;
            } 
        }

 

字符串

给一个string,要求将里面的空格替换为特定字符后返回,如果空格在””里面则不需要替换。

示例:字符串为:zhuhai kingsoft office “wps et ppt”

将空格替换为逗号:”,”

替换后的字符串为:zhuhai,kingsoft,office,”wps et ppt”

 

我的代码

#include<iostream>
#include<cmath>
using namespace std;

string solution(string result){
    bool flag = false;
    for(int i = 0; i < result.length() ;i++){
          if(result[i] == '"'){
            flag = !flag;
          }
          if(flag){
            continue;
          }
          else if(result[i] == ' '){
            result[i] = ',';
          }
    }
    return result;
}

int main(){
    string str = "zhuhai kingsoft office \"wps et ppt\"";
    cout<<solution(str)<<endl;
}

指针应用场景1:交换两个变量的值

#include<iostream>
#include<cmath>
using namespace std;

void mySwap(int *a,int *b)
{
 int temp = *a;
 *a = *b;
 *b = temp;
}

int main()
{
 int a = 6;
 int b = 1;
 mySwap(&a,&b);
 cout<<"a="<<a<<endl;
 cout<<"b="<<b<<endl;
}

a和b的值通过指针进行了交换。

 

指针应用场景2a:函数返回多个值,某些值就只能通过指针返回,传入的参数实际上是需要保存带回的结果的变量。

#include<iostream>
#include<cmath>
using namespace std;

void myMinMax(int a[] , int len ,int *max ,int *min)
{
    *max = *min = a[0];
    for(int i = 1; i<len; i++)
    {
        if(a[i] > *max)
        {
            *max = a[i];
        }
        if(a[i] < *min)
        {
            *min = a[i];
        }
    }
}

int main()
{
    int a[] = {1,7,4,33,75,6,12};
    int min,max;
    myMinMax(a,sizeof(a)/sizeof(a[0]),&max,&min);
    cout<<"max="<<max<<endl;
    cout<<"min="<<min<<endl;
}

最大值和最小值通过指针max和min返回。

 

指针应用场景2b:函数返回运行的状态,结果通过指针返回

#include<iostream>
#include<cmath>
using namespace std;

bool divide(int a,int b,int *result)
{
    if(b == 0)
    {
        return false;
    }
    else
    {
        *result = a/b;
        return true;
    }
}

int main()
{
    int a = 6;
    int b = 2;
    int c = 0;
    if(divide(a,b,&c))
    {
        cout<<a<<"/"<<b<<"="<<c;
    }
    else cout<<"Error!"<<endl;

}

结果通过result指针返回。

指针——可以是const

值——可以是const

 

指针是const

表示一旦得到了某个变量的地址,指针就不能再指向其他的变量了。

如:

int *const q = &i;//q是const
*q = 26;//OK
q++;//Error

 

指针所指的值是const

表示不能通过这个指针去修改那个变量(并不能使得那个变量变成const),可以通过别的指针去修改那个变量

如:

const int *p = &i;
*p = 26;//Error! (*p)是const
i = 26;//OK
p = &j;//OK

 

int i = 0;
const int* p1 = &i;
int const* p2 = &i;
int *const p3 = &i;

判断哪个被const了的标志是const在*的前面还是后面。

如果const在*前面,则指针指向的东西不能被修改。

如果const在*后面,则指针不能被修改。

 

const数组

const int a[] = {1,2,3,4,5,6};

数组变量其实已经是const的指针了,这里的const表明数组的每个单元都是const int,所以必须通过初始化进行赋值。

#include<iostream>
#include<cmath>
using namespace std;

int main(){
     int a = 6;
     cout<<"sizeof(a)="<<sizeof(a)<<endl;
     cout<<"sizeof(a++)="<<sizeof(a++)<<endl;
     cout<<"a="<<a<<endl;
}

在上述代码中,sizeof()运算符只会判断括号中的数据类型,并不会进行实际运算,所以最后输出的a是6。

一个人找另一个人,一句话找另一句话。知道你喜欢仪式感,本想和你一起度过漫长岁月,可惜没能如愿,并不是每一次主动伸出手都能和解呢。记得和你一起去漠河看到的初雪,记得和你在呼伦湖的牵手,记得和你去长春见熊黄黄,记得和你一起去成都拍摄大熊猫,记得我们一起漫步大海边,记得我们一起爬上了角山长城,记得我们曾经在一起的时光,那个时候我们真的互相喜欢过吧。当你参加高考考数学时我在上《离散数学》,我有给你祈祷啊!等待考上一个大学,后来没有实现。大学时等待每周的见面,那是17km的距离。每个早上醒来睡眼朦胧的拿起手机,隔着冰冷的屏幕想知道你睡得好不好。现在分开了,不知道该等什么了…也在想如果你是对的人,也许还会回来,只要是对的,哪怕晚一点,我可以等。想想真是有意思,人和人之间原来是这么熟悉起来的,不知道什么时候就开始习惯你在的生活了,没什么特殊的原因,只因为一起呆得久了。后知后觉可不是什么好东西,很多时候当你觉得事情不太对的时候其实已经无法挽回了。大家都是普通人,这些年爱也爱得乱七八糟的,恨也恨得乱七八糟的,可那又有什么办法呢。。。有些事情如果你做错了的话,自己也会厌弃自己的啊,曾经以为命运是能改的,我不信命!到头来却也只能认命,我爬不动了,不会再这么固执下去了吧。有些事,你改变不了,只能怨天尤人,想象总是美好的,命中注定的事,早点轮回吧,原来这就是自己,一个普普通通的家伙,仔细想想,我这辈子努力去做的事情好像都做错了,连死死抓住那么一点点小温馨都做不到,你就该静静地呆在没人知道的地方,静静地生长也静静地枯萎,像一株野蒲公英那样,最后留在记忆深处的总是些虚无缥缈的东西。以后啊,你还可以拿起相机拍摄你最爱的东西,你还可以一路走走逛逛吃遍全国,你还可以看着你最爱的吃播视频,你还可以天天和我分享着你的所见所闻,到你身边已经没有我的位置了。过了那么久,还是要来了,只能说有缘无分吧,认识你真的很开心,谢谢你,这段日子真的特别特别高兴,在遇见你之前,这个世界上没有值得我珍视的人,我孤立着一切,只想靠自己摆脱孤独,却堕落在无尽的深渊中,我活在彻头彻尾的寒冬中。认识你之后,夏天来了,那几年我的生活充满了阳光,我有了女朋友,有了奋斗的目标,心怀未来。第一次体会到原来自己的一举一动在另外一个人的世界里都是那么重要,她会闷不作声地跟着你走,就像你的尾巴一样,从未有过这么一个人那么需要你,你怎么能看着她消失呢?那时你在我心里是最重要的人啊,世界上只要有你,每一天都是幸福的,世界上只要有你,再大的困难我也能抗,这是我一生里最开心的时间,以前没有过,以后也不会有。往往就是这样,因为告别的时候忘了约定再见的时间,从此就天各一方,但如果他喜欢你,是会追着你到天涯海角的,在一个夏天夜晚,我失去了你,连带着光荣和梦想,我仿佛再度踏入了寒冬,我并不是什么大人物,我一样需要温暖,如果有温暖,我可以庸庸碌碌地活下去,我仍然能记起那种失去你再度陷入孤独的痛苦,很多人会轻易地说出放弃二字,只是因为他们并不懂我的过去。人一生能有多久,能拥有多少东西?以后啊,不要做会让自己后悔的事,不要让那些爱你的人难过,因为这个世界上,你爱的人固然很少,爱你的人也绝不会多。想努力把那两年人生扔进垃圾堆,觉得那是错误的时光,再也不愿回想,仔细想想,其实那两年里也有很多的好事情不是么?

2016-09-09 和你初次见面 余生多多指教

2016-09-15 心急的跑去你们学校 第一次去你们学校 差点走错了路 迷茫的走到了哈尔滨北站 不管过程如何 能见到你就很开心啦 这天是中秋节 月亮很圆 离别的时候差点忘了给你月饼 还好回头望你的时候想起来了 把所有月饼都给你了 只想把身心一切都掏给你

2016-09-30 和你错过了去齐齐哈尔的火车 但和你在一起我就很开心

2016-10-01 和你到达齐齐哈尔 前往漠河 傍晚火车上的风景真美 很想和你再体验一次

2016-10-02 和你去漠河 认识了一对北京的情侣 遇到了一个很好的大叔司机

2016-10-03 和你一起看漠河的初雪 太美了 漠河的一切都像一场美梦 我们买了两个套娃 一人一个

2016-10-05 和你去了满洲里婚礼宫 晚上的满洲里就是一座灯光的城堡

2016-10-06 和你去满洲里国门 套娃广场 呼伦湖 在呼伦湖牵手了

2016-10-07 和你去了哈尔滨索菲亚教堂 有人说”从他打的伞可以看出是真爱”

2016-11-12 和你去长春见到了台灯和熊黄黄 熊黄黄和你说看得出来我很喜欢你

2016-11-13 和你吃了黄焖鸡米饭 去了伪满洲国皇宫

2017-01-05 和你去了长沙五一广场 一起吃了很多东西

2017-01-06 和你去了橘子洲头 可惜没看到橘子洲头的烟花

2017-01-07 和你去湘潭湖南科技大学见了我的好朋友

2017-02-24 和你还有春香在武汉转车回哈尔滨 吃了武汉热干面 你们去看了电影

2017-04-01 你和春香去师大夜市 此刻我在上信息检索课 下课后我一路上跑啊跑 终于在师大夜市找到了你

2017-04-14 坐夜班公交车的人都很有很有故事 你室友又不懂你为何又一次急着来见我 因为你太想我了 此刻我也很想你 只有见到彼此才能把互相的心填满 我们一起去了滨江大桥 夜景的哈尔滨真是太美了

2017-04-20 黄焖鸡米饭 “待宝宝学会给你做”

2017-04-29 和你在沈阳

2017-04-30 沈阳

2017-05-01 和你一起去东北大学见到了春晚哥 我下棋输给了他

2017-05-05 你和春香一起来黑大夜市

2017-05-06 你来和我一起看房 我们在新主楼发现一个不错的房子 就去看了 租下来了

2017-05-07 你和我去服装城买被子 因为错过了时间一起淋了一场雨 签好了合同 我们有一个小家啦

2017-07-11 考完了最后一门 我们一起坐火车去成都

2017-07-13 早上我们到了成都站 休息了一会儿我们就去了武侯祠 锦里 在春熙路见到了小疼疼

2017-07-14 去了大熊猫基地 在环球中心一起等到了墨想 一起去广都站那边吃火锅 小疼疼也来了 一起去了墨想家 晚上你买了一副墨镜

2017-07-15 我们和墨想一起去了水上乐园 见到了仰慕豪和黑骑之魂 黑骑之魂被蚊子咬得好惨 我们一起打了乒乓球 我们5个还去仰慕豪家玩了奇怪的一种牌

2017-07-16 我们起晚了 我买了回家的无座 最后我在成都东站等你 没有上回家的火车 我们一起去了南充 我见到了北邮的SC哥哥 在南充转车去岳池 你好朋友过生日 你把我的箱子放在你家 你婆婆看到了我的背影 我一个人在岳池一中逛 走过你生活的校园 最后躺在足球场 太阳落山了 有点孤单 被一个小孩子用足球踢到了眼镜 他家长把他带走了 我等啊等 终于等到了你 你居然带我去了你家 见到了你姐姐 还吃到了你给我下的面 很幸福啊 半夜我们跑出去吃冰粉 走了好远好远到达时代酒店 4点多 天还没亮 你怕你婆婆发现你不在家 又打车回家了 发消息给我让我不要担心你

2017-07-17 我们一起去吃了冰粥 打包了一份炒河粉 一起去了你经常去的电影院坐着 最后一起去岳池站 那天火车晚点了很久 我们从5点等到8点多 临走前你还怕我挨饿给我买了很多吃的 我9点多到重庆北站转车踏上了回家的路

2017-08-25 你来哈尔滨站接我回我们的小家

2017-09-09 在一起一周年啦 我们发现了一家重庆小面 那儿有我最爱的冰粉

2017-09-28 看完巴萨的欧冠之后 我就出发啦 你的手机屏幕不小心全部摔碎了 我走到了哈尔滨西站 乘上了最早的一班动车 在你学校图书馆门口和你相见 把我的小米2S借给你用 一起去吃了早餐 等你上完早自习我们又在一起待了一会儿 我好舍不得离开你啊 但是你要上课 我也要上课 你去上课后我跑去哈尔滨北站坐动车到哈尔滨西站 遇到拉肚子在厕所上了个厕所 上了31路公交车 堵车堵车堵车 10:10才到学校门口 一路飞奔去新主楼 只迟到了几分钟 是陈宜冬老师的网络设备课 课上几乎睡了过去 下课后就直接回去睡觉啦

2017-09-30 早上我去上课 我的Macbook 你的iPhone6s都到啦 晚上出发前往大连 车上遇到有人打架

2017-10-01 我们在大连站外面走丢了 我在原地等你 终于等到了你 后来吵架了 你上公交车 我没零钱没上 可是你给我投钱了 我不知道 像个孩子一样蹲在地上难过 你在下一站下车跑过来找我 你对我真好 美团意外的丢失了订单 我们找错了酒店 折腾了一上午 下午我们睡了一下午 晚上醒来的时候随便吃了点东西 一起玩王者荣耀玩到很晚

2017-10-02 我们都是第一次见到大海 在大连的星海公园 拍了很多海景照 你真可爱 下午我们去了大连的威尼斯水城 找到了猫的天空之城那家书店

2017-10-03 我们去金州站坐火车 只买了到大石桥的火车 补票到北戴河站 吃了烧烤 还在北戴河的刘庄那条街溜达了很久

2017-10-04 上午一起去爬了联峰山 下午一起去了老虎石海上公园 你在沙滩上写了蓉蓉兔生日快乐 写了王紫欣 写了帆帆i love u 你说甜六度苦四分

2017-10-05 清早踏着朝阳我们去了鸽子窝公园 你的手机掉了 好在遇到了好心人失而复得 一起喝了老北京酸奶 中午我们坐动车从北戴河到了山海关 下午我们去看了天下第一关 爬了角山长城 在山上遇到了老外问我问题 我让你和他交流 好像问的山顶上是什么 以及有多远 晚上 我们踏上了回哈尔滨的火车 火车上遇到两个俄罗斯人

2017-10-07 我的20岁生日 我们去吃了自助餐 你买了可妮兔和布朗熊的蛋糕送我 最快乐的一个生日有你陪我

2017-12-28 你和春香从哈尔滨飞回重庆了 感觉哈尔滨只剩下我孤零零的一个人了

2018-02-28 科目二挂了 但是有你在 所以不可怕 我下次一定要考过

2018-03-04 努力转车 只为离你近一点 早上我终于在哈尔滨西站见到了你 虽然哈尔滨还被冰雪覆盖着 但我心里暖暖的 然后各回学校

2018-03-09 想给你更好的生活 我决定去金山赚钱 买了好几本面试的书 努力努力再努力

2018-04-15 飞往长沙 参加金山春招长沙站笔试 那一周我是无比的想念你

2018-04-22 飞回哈尔滨 终于回到了你在的城市

2018-04-28 得到了金山HR的3面通知 和你去黑大夜市吃东西 还买了我们都喜欢的西米露

2018-05-03 收到了金山的正式实习offer 努力就是有结果的啊 因为有你在 所以我得变优秀 为我们创造更好的未来

2018-05-04 你陪我去办了银行卡作为工资卡

2018-05-11 抽血 我最怕了 但是抽完血就能见到你啦

2018-05-12 汶川大地震十周年 你的手机外屏碎了 我们一起去给你手机换外屏 然后吃了韩盛烤肉 吃得很撑

2018-05-14 拿到了体检报告 身体有点小问题 为了你 我得好好注意自己的身体才行

2018-05-18 很想把你介绍给Final,老司机,小帅,还有海绵宝宝,但是你好像不太想,我就和他们去吃火锅告别,回来得很晚

2018-05-19 和你一起去找吉他包装 遇到了好心人把外包装免费送给我们 把我送你的吉他寄回了你家 在黑龙江省京剧院旁边的那个桥上对你发火了 把雪碧狠狠地摔在地上 对不起 我没控制好自己的情绪 你一定对我非常失望吧

2018-05-20 520 下午把大部分东西都寄走了 祝贺RNG夺得了MSI冠军

2018-05-21 离开哈尔滨 前往金山 相同的分别地方 相同的大叔 不敢看此刻的你 我哭了

2018-05-22 到达金山,金山很棒

2018-06-12 被训话了 我真差劲

2018-06-15 下班后马上出发 没有买票就到了唐家湾站 努力努力再努力 只为能在你20岁那天见到你 幸运的买到了想去的行程 珠海-广州-岳阳-武汉-哈尔滨

2018-06-17 终于见到你啦!我们去吃了上次没吃成的那家鱼 宝贝20岁生日快乐!

2018-06-22 考完晚上一门的我见到了你

2018-06-23 我们去了韩盛烤肉 去逛了松雷商业大厦 到处都是世界杯的主题

2018-06-24 我们去了哈理工 又去了你学校 时隔那么久我终于又去了你学校 我很喜欢你学校 更喜欢你学校的你 我们在玩吃鸡 还遇到一对很可爱的男孩子 游戏只是娱乐 然后我们都饿了 一起去杉杉奥特莱斯吃逃课吃串串 我最喜欢成都风格的美食了 也很喜欢成都这座城市 最后我们经过了哈师大 回到了你学校 你最好了 最后我们还是分别了 你想送我 我怕你一个人危险 让你回去了 离开你学校 突然泪目 我不知道我什么时候还能来你学校

2018-06-25 忍不住去了你学校 可是你在写论文太忙了 我在你学校逛了好久好久 多么希望能够见到你的背影啊

2018-06-27 回珠海了 我会想你的

2018-07-03 终于凑够了钱可以送你一台你最想要的ipad啦 下一个目标 带你去jay或者eason的演唱会

2018-07-18 被告知被解雇了 你一直在安慰我 很想抱着你埋头痛哭 此刻的我很脆弱

2018-07-20 正式离职 不知道未来会如何 但我应该会找到下一份工作吧

2018-07-24 分手

2018-07-26 未知的未来 可是我别无选择 想去找你 可是你不愿意见我

2018-07-27 一个人坐在空空的车厢里,听着布拉格广场,望着逐渐变黑的天空,心里特没底,你现在会在干嘛呢?

2018-07-28 我逃到了成都 这是一个好地方 但我没有心安 我失败了

2018-10-01 国庆节你来探望了我一下午,晚上我们在足球场谈了很多,分别的时候你还送了我一盒酸奶,你让我失去了自我,为了你,我好像把原来的那个我完全抛弃了。不知道自己是对还是错,我这样做只是为了你,我很怕失去你,你讲几句重话,我就手足无措了,这样的我,我简直觉得不可思议,我简直有点轻视我自己了,太没出息了。

2018-10-04 我们一起去KTV唱歌啦!你还送了我一个生日蛋糕,超开心超开心的!最后很舍不得分别,眼看你越走越远,我的心似乎跟着你一起走了,想到此后,我每天会在无尽的相思里度过,我就不寒而栗了,但愿我能把每一丝每一缕的相思织成天罗地网,网住你,保护你,让你不会受到伤害。记住,要保护自己,因为我在等你,等你,等你。

2018-10-13 你约我晚上出来散步,开心,坐下来写下这些字的时候,我才明白是给自己心里写的一个安慰。
很开心的是,此刻我还有时间写下自己的心情,让自己开心一点。
最近一段时间,对我来说是一个十足的低谷,身体、学业、爱情、工作,还有心理,所有的这一切都是自己一手造成的。
直到现在我才知道自己不是一个聪明的人,其实最笨的人才是自己,很笨很笨的那种,丢失了最爱的人,丢失了曾经的梦想,丢失了最珍贵的一切。
不过还是要说:所有的苦难都将是一笔财富。

2018-11-03 陪你去考了一天的教师资格证,一起逛了商场,给你拍了照,在商场里的书店里发现了你超喜欢的猫王收音机,好贵好贵啊,等我有钱了一定送你一个,慢慢发现和你分手已经三个多月了,这漫长的三个月,对我像漫长的三个世纪,每一天怎么活过来的,自己都弄不清楚,你的冷漠让我痛彻心扉,我整天关在家里,不能思想,不能分析,脑子里一片空白与麻木,午夜梦回,我在窗边呼唤你的名字,一遍又一遍,一次又一次,直到天亮了,你说的那些话,每一字每一句,就像一把锐利的刀,切割着我的全身,千言万语我只想和你说一句话,我爱你,全心全意的爱着你。

(未完待续)

你最好了。

 

原地址:https://weibo.com/ttarticle/p/show?id=2309404275311117213990