Interview
K.Sun
这个作者很懒,什么都没留下…
展开
-
动态规划之编辑距离(Edit Distance)
原文地址:Dynamic Programming | Set 5 (Edit Distance) 已知两个字符串str1与str2,str1可以用下面的操作。得到最小的编辑数使得str1转变为str2。 a)insert b)remove c)replace 以上所有的操作成本是一样的。例子:Input: str1 = "geek", str2 = "gesek"Output: 1翻译 2016-10-15 20:51:41 · 1910 阅读 · 0 评论 -
整数转换中英文形式
前段时间参加了兴业银行信息科技部的面试,第一场是上机笔试,前面的题目不知道是啥,随便乱选,真不明白他们搞这样的笔试意义何在。最后两道是编程题,其中一个是数字转换,当时匆匆忙忙也没写好,今天闲下来了,随便写了些,并写了中英文转换两个版本。思路是这样的,假如有1234567890这么一个数字,那么中文的形式是这样的:1234567890=(12)億+(3456)万+(7890)那么英文形式是这样的:12原创 2017-07-11 14:11:06 · 590 阅读 · 0 评论 -
Perfect Number
题目地址:https://leetcode.com/problems/perfect-number/description/We define the Perfect Number is a positive integer that is equal to the sum of all its positive divisors except itself.Now, given an intege原创 2017-10-06 19:49:23 · 408 阅读 · 0 评论 -
Rotate Image
题目地址:https://leetcode.com/problems/rotate-image/description/You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Note: You have to rotate the image in-plac原创 2017-10-07 10:27:30 · 251 阅读 · 0 评论 -
Integer Break
题目地址:https://leetcode.com/problems/integer-break/description/Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the m原创 2017-10-07 11:42:52 · 233 阅读 · 0 评论 -
Different Ways to Add Parentheses
原文地址:https://leetcode.com/problems/different-ways-to-add-parentheses/description/Given a string of numbers and operators, return all possible results from computing all the different possible ways to g原创 2017-10-07 17:30:24 · 224 阅读 · 0 评论 -
Spring中Bean的作用域(Scope)
在Spring 5.0中支持以下六种Bean的作用域: 范围 描述 singleton (默认)每个Spring IOC容器中一个Bean定义只有一个实例对象。 prototype 一个Bean定义可以有多个对象实例 request 一个HTTP请求创建一个Bean的实例,该作用域只在web-aware Spring ApplicationContext中有效。 s原创 2017-10-07 21:55:51 · 555 阅读 · 0 评论 -
Count Numbers with Unique Digits
题目地址:https://leetcode.com/problems/count-numbers-with-unique-digits/description/Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10^n.Example: Given n = 2, return原创 2017-10-14 15:29:05 · 286 阅读 · 0 评论 -
Exchange Seats
题目地址:https://leetcode.com/problems/exchange-seats/description/Mary is a teacher in a middle school and she has a table seat storing students’ names and their corresponding seat ids.The column id is con原创 2017-10-14 19:48:37 · 1029 阅读 · 0 评论 -
Set Matrix Zeroes
题目地址:https://leetcode.com/submissions/detail/130756933/Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.这个题目的关键就在于不要让修改后的0“传染”给其他行列,所以我们可以这么想:如果提前把0元素所在的行列坐标原创 2017-12-04 17:35:26 · 162 阅读 · 0 评论 -
可作为GC Root的对象
在Java虚拟机中判断一个对象是否可以被回收,有一种做法叫可达性分析算法,也就是从GC Root到各个对象,如果GC Root到某个对象还有可达的引用链,那么这个对象就还不能被回收,否则就等着被收割吧。这里既然提到了GC Root,那么哪类对象可以作为GC Root呢,这是一个在面试中经常被问到的问题。《深入理解Java虚拟机》一书中是这么说的,一下几种对象可以作为GC Root:虚拟机栈中的引用原创 2017-06-07 19:44:13 · 9141 阅读 · 0 评论 -
C++面试常见问题
C/C++程序占用的内存栈区— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区 — 一般由程序员分配释放, 若程序员不释放,例如malloc、free,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,原创 2017-04-01 08:55:56 · 1150 阅读 · 0 评论 -
C++类默认的成员函数与Java Object类中的成员函数
C++空类默认成员函数class EmptyCppClass{ public: EmptyCppClass(); // 缺省构造函数 EmptyCppClass( const EmptyCppClass& ); // 拷贝构造函数 ~EmptyCppClass(); // 析构函数 EmptyCppClass& operator=( const原创 2016-10-16 16:56:25 · 551 阅读 · 0 评论 -
What are the most important data structure and algorithms to prepare for Google Interview?
Stick to Basics. I would classify the following data structures as must knowLinked List - Single and DoublyStackQueuesBinary Search Trees or general Binary TreeHeapsBasic Graph Traversal and Short转载 2016-10-17 14:11:40 · 341 阅读 · 0 评论 -
所有整数对之间的位差异数之和(Sum of bit differences among all pairs)
原文地址:Sum of bit differences among all pairs 已知一个有n个整数的数组,找出数组中任意两个元素组成的整数的位差异数的和。例子:输入: arr[] = {1, 2} 输出: 4 数组中所有的整数对:(1, 1), (1, 2) (2, 1), (2, 2) 位差异数之和 = 0 + 2 + 2 + 0 = 4 输入: arr[] = {1, 3, 5}翻译 2016-10-17 18:41:28 · 420 阅读 · 0 评论 -
从N个不同数字中等概率取出M个数字(N>=M)
这个问题本身不难理解,但是关键的地方是理解等概率,还有一个隐性的条件,那就是不能重复取。所以初步的想法是用Rand()在[0,N]范围内生成M个随机数字,万一里面有重复数字,那这就不好玩了。为了避免重复数字,那咱就给他生成随机的偏移量呗,假如我们当前取到的数字是a[i],生成一个随机数字r,那么我们下一个取得数字就是a[i+r]。可是这种做法也有点小问题,假如还没取完,然后数据就越界了,咋办?你可能原创 2016-10-29 09:21:50 · 3827 阅读 · 0 评论 -
Java中String、StringBuilder、StringBuffer的区别
Java中String、StringBuilder、StringBuffer是我们再熟悉不过的类型了,那么它们之间到底有啥区别呢。首先,String类型是不可变的,StringBuilder、StringBuffer是可变的。其次,StringBuilder与StringBuffer类似,无非就是在单线程的情况下StringBuilder要比StringBuffer快。如果要确保线程安全,那就用St原创 2016-12-08 12:08:26 · 381 阅读 · 0 评论 -
Java中CountDownLatch与CyclicBarrier的区别
CountDownLatch与CyclicBarrier都是Java并发框架下的两个类型,它们的作用也很相似,就是等待所有的线程都到位,然后放马所有线程。那么它们到底有啥区别呢?1、CountDownLatch与CyclicBarrier虽然都采用计数方法等待线程,但是CountDownLatch是做减法,到0的时候放马。CyclicBarrier做的是加法。2、CountDownLatch等到是0原创 2016-12-08 19:27:50 · 696 阅读 · 0 评论 -
在一个数组中找到三元组,使得三元组内的三个元素加和为0。
这是一道Google面试题目,题目比较容易理解:看例子:Input : arr[] = {0, -1, 2, -3, 1}Output : 0 -1 1 2 -3 1Input : arr[] = {1, -2, 1, 0, 5}Output : 1 -2 1其中一个最简单的想法就是3层循环,对数组进行遍历,找到加和等于0的三个元素,但是这个方法时间复杂度是O(n3)O(n^原创 2017-03-03 11:31:14 · 7287 阅读 · 0 评论 -
C/C++中的堆栈分配情况
一般而言,C/C++程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,例如malloc、free,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局变量和静态变原创 2017-02-15 21:12:12 · 714 阅读 · 0 评论 -
OSI各层功能及协议
OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP原创 2017-02-15 22:58:55 · 536 阅读 · 0 评论 -
Reverse Linked List II
题目地址:https://leetcode.com/problems/reverse-linked-list-ii/description/Reverse a linked list from position m to n. Do it in-place and in one-pass.For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4原创 2017-12-04 19:19:21 · 191 阅读 · 0 评论