Jyo's Blog

風になる


  • 首页

  • 分类

  • 归档

  • 关于

  • 作品

两个栈实现一个队列

发表于 2015-09-30   |   分类于 Algorithm   |  

两个栈实现一个队列是很经典的一道题目,LeetCode原文为:

>

Implement the following operations of a queue using stacks.

  • push(x) – Push element x to the back of queue.
  • pop() – Removes the element from in front of queue.
  • peek() – Get the front element.
  • empty() – Return whether the queue is empty.
阅读全文 »

BOP1.8 小飞的电梯调度算法

发表于 2015-09-30   |   分类于 Algorithm , BOP   |  

一座大厦,里面的电梯一开始在高峰时段每层都停,现设计一种方式,让电梯只停在其中的某一层。所有的乘客从这层爬楼梯到自己的楼层。在一楼的时候,每个乘客选择自己的目的层,电梯自动计算出应该停的层。

问:电梯停在哪一层,能够保证乘坐的所有乘客爬楼梯的层数之和最少。

首先对问题进行抽象->假设楼层共N层,电梯停在第i层,要去第j层的乘客数目总数为nPerson[j],这样,所爬楼梯的总数就是

  • Σ{nPerson[j]*|i-j|},j从1到N
阅读全文 »

求职准备

发表于 2015-09-30   |  

最近开始进入正式的求职准备,明年暑假正式应聘移动端开发工程师。现在准备通过写博客的形式来学习总结。包括但不限于对数学,计算机网络,操作系统,数据库,数据结构,算法,JAVA,Android,iOS,HTML5等的学习总结。
Fighting!!!

左旋字符串

发表于 2015-08-31   |   分类于 Algorithm   |  

问题为:

将一个n元一维向量向左旋转i个位置。例如,当n=8,i=3时候,向量x=abcdefgh,旋转为defghabc。如何用最少的时间和空间完成?

阅读全文 »

磁盘文件排序

发表于 2015-08-25   |   分类于 Algorithm   |  

这是《编程珠玑》第一章的一个小问题。
该问题要给一个很大的磁盘文件排序。首先要弄明白该问题的输入输入,以及约束条件。

  • 输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7。如果在输入文件中有任何整数重复出现就是致命错误。没有其他数据与该整数相关联。
  • 输出:按升序排列的输入整数的列表。
  • 约束:最多有大约1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10s就不需要进一步优化了。

    阅读全文 »

排序算法

发表于 2015-06-18   |   分类于 Algorithm   |  

算法和数据结构的复习不写博客是不行的,之前的Algorithm项目也是进展缓慢,于是乎,我又来写博客了。准备从排序开始,把算法导论的一些算法实现下。顺便各种数据结构也要涉及下。

  • 使用语言:Java
  • 参考书籍:《算法导论》,《Java编程思想》
    阅读全文 »

递归与分治问题

发表于 2015-06-17   |   分类于 Algorithm   |  

递归

递归就是自己调用自己,最基本的算法。
构成递归需要具备的条件为:

  1. 子问题须与原始问题为同样的事,且更为简单;
  2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。

递归相关的经典问题主要有:汉诺塔问题,斐波那契数列,枚举排列等。

阅读全文 »

如何用 Android Studio 导入开源项目以及常见错误的解决办法

发表于 2015-05-23   |   分类于 Android   |  

本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你。

如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发。但如果要想导入Github上的热门项目,必须首先熟悉Gradle。

###1. Gradle

Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy。

简单来说,Gradle就是Andriod Studio引入的一种自动构建工程的工具,很好的解决了Android项目的构建。大概能解决以下开发过程中的痛点:

  • 不用把第三方库下载下来。以前用Eclipse必须得把第三方库下载下来,然后在自己的项目中引入那个第三方library才行。但使用Gradle,几行代码就搞定第三方库的依赖,降低了耦合性。
  • 不用手动修改N次代码,把代码打N个包发到N个市场。以前可能需要针对不同的渠道发不同的APK文件包,现在只需要在gradle中的几行代码就能一次生成多个渠道包。具体可参考此文章:如何通过Gradle实现一套代码开发不同特性的APK。
阅读全文 »

matlab学习

发表于 2015-03-16   |   分类于 Matlab   |  

matlab中的小知识点,易混知识点总结。

###常用命令

  • clear
  • quit
  • clf 擦除figure
  • who 检查内存变量
    阅读全文 »

Mind Palace

发表于 2015-03-15   |   分类于 Essay   |  

记忆力就是想象力和创造力!
最近在读记忆宫殿方面的书,就是那本《与爱因斯坦一起月球漫步:让美国记忆大师教你教你记忆一切》和袁文魁的《记忆魔法师》。看完这两本书大概对记忆法是什么有了大致的了解,受益匪浅。不,应该是相见恨晚!原来记忆的有诀窍的!今后我要多多利用这些技巧来帮助自己记忆。

PS:100位圆周率小case!

阅读全文 »
1234
Jyo Shinn

Jyo Shinn

風立ちぬ、いざ生きめやも

GitHub Twitter 微博 知乎
© 2015 - 2016 Jyo Shinn
由 Hexo 强力驱动
主题 - NexT.Pisces
本站总访问量次
访客数人次