算法面试
fesng
CSDN年度博客之星和博客专家,毕业长期在一线互联网专注于Android开发以及Android漏洞挖掘研究。
展开
-
程序员面试考察的5个方面
面试时程序员绕不过去的话题,我的理解是具体分为如下5个方面:1.基本功正所谓美团说的基本功,程序员面试的基本功,每个人的理解不一样。但无外乎几个方面:编程语言+数据结构+算法+平台编程经验。平台编程经验举个例子是你用java,你能够在后端框架写程序还是能够移动端开发安卓。编码规范编码规范不是背一下就行了,背后体现的是项目经验的积累,如何写出高质量的代码,比如编写的代码稳定,可靠,满足安全...原创 2019-12-26 00:28:23 · 2354 阅读 · 1 评论 -
leetCode之旅(5)-博弈论中极为经典的尼姆游戏
题目介绍You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be原创 2016-03-29 17:14:11 · 3651 阅读 · 0 评论 -
leetcode之旅(6)-Add Digits
题目:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit原创 2016-03-29 17:36:16 · 954 阅读 · 0 评论 -
leetcode之旅(7)-Move Zeroes
Move Zeroes题目描述:Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.For example, given nums = [0, 1, 0, 3, 12], after ca原创 2016-03-29 20:14:58 · 728 阅读 · 0 评论 -
leetcode之旅(8)-Contains Duplicate
题目:Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element原创 2016-03-29 21:04:27 · 873 阅读 · 0 评论 -
leetcode之旅(9)-Reverse Linked List
题目描述:Reverse a singly linked list.click to show more hints.Hint:A linked list can be reversed either iteratively or recursively. Could you implement both?Subscribe to see which companies asked this qu原创 2016-03-29 21:24:45 · 814 阅读 · 0 评论 -
leetcode之旅(10)-Roman to Integer
题目描述:Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.Subscribe to see which companies asked this question预备知识:记数方法基本字符 I V X L C D M 相应原创 2016-03-29 22:57:55 · 852 阅读 · 0 评论 -
leetcode之旅(11)-Integer to Roman
题目描述:Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.Subscribe to see which companies asked this questionShow TagsShow Similar Problems准备知识看上原创 2016-03-29 23:05:43 · 868 阅读 · 0 评论 -
LeetCode之旅(13)-Valid Anagram
题目介绍:Given two strings s and t, write a function to determine if t is an anagram of s.For example, s = “anagram”, t = “nagaram”, return true. s = “rat”, t = “car”, return false.Note: You may assume原创 2016-03-30 18:45:39 · 918 阅读 · 0 评论 -
leetCode之旅(14)-Number of 1 Bits
题目描述:Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11’ has binary representation 00000000原创 2016-03-30 19:22:47 · 717 阅读 · 0 评论 -
LeetCode之旅(15)-Odd Even Linked List
题目描述:Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.#You should try to do it i原创 2016-03-31 09:48:11 · 854 阅读 · 0 评论 -
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
问题描述Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value原创 2015-11-18 22:18:35 · 958 阅读 · 0 评论 -
[面试算法题]比较二叉树异同-leetcode学习之旅(5)
问题描述Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value.和Balanced Bina原创 2015-11-18 22:37:23 · 751 阅读 · 0 评论 -
二叉树的最大深度算法面试题-leetcode学习之旅(3)
标题Maximum Depth of Binary Tree描述The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.c++实现方法代码1.递归实现,时间复杂度为O(n) 空间复杂度为O(logn)/** * Definiti原创 2015-11-11 20:39:26 · 2139 阅读 · 0 评论 -
算法面试题-leetcode学习之旅(二)
题目:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit原创 2015-10-29 09:12:05 · 861 阅读 · 0 评论 -
算法面试题-leetcode学习之旅(一)
问题描述Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty and the majority element alw原创 2015-10-27 20:20:42 · 892 阅读 · 0 评论 -
贪婪算法(Greedy algorithm)-算法学习之旅(一)
我研一下学期选修了网络管理,因为是限选课所以我没有认真上课,今天因为快结课考试了,我才去,然后我发现了一个大秘密。。。。。。 原来老师从第三节课已经开始讲算法导论的知识了,我是不是错过了什么。。。废话不多说,介绍贪婪算法首先普及一下图论的基本先验知识图(Graphs)包括有向图和无向图。 表示为: G=(V,E); V是顶点集,E是边集。 有向图(i,j)属于E,i—->j; 无向图(i原创 2015-05-15 00:12:52 · 8275 阅读 · 0 评论 -
Java语言实现二分法
二分法是一个简单,高效,并广泛应用的查找方法import java.util.arrays;public class BinarySearch{ public static int rank(int key, int[] a) { //数组必须是有序的 int lo = 0; int hi = a.length - 1; while (原创 2016-03-07 22:54:44 · 1444 阅读 · 0 评论 -
LeetCode之旅(16)-Climbing Stairs
题目描述:You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?先验知识:斐波那契数列斐波那契数列(Fibonacci sequ原创 2016-03-31 12:27:10 · 926 阅读 · 0 评论 -
LeetCode之旅(17)-Ugly Number
题目:Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it原创 2016-04-03 16:57:57 · 866 阅读 · 0 评论 -
LeetCode之旅(18)-Happy Number
题目Write an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of原创 2016-04-03 17:34:35 · 820 阅读 · 0 评论 -
LeetCode之旅(19)-Power of Two
题目Given an integer, write a function to determine if it is a power of two.Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.思路判断一个整数,是不是的2的次方数 ,利用对2求余,原创 2016-04-03 17:51:53 · 737 阅读 · 0 评论 -
LeetCode之旅(20)-Power of Three
题目:Given an integer, write a function to determine if it is a power of three.Follow up:Could you do it without using any loop / recursion?思路:这个问题是求一个数是不是3的次方数,可以有两种解法:1.采用余数的算法2.利用了java 的对数运算,判断3的对象是否原创 2016-04-04 22:52:34 · 930 阅读 · 0 评论 -
LeetCode之旅(21)-Swap Nodes in Pairs
题目:Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space. You may not原创 2016-04-05 10:22:33 · 942 阅读 · 0 评论 -
LeetCode之旅(22)-House Robber
题目:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent hou原创 2016-04-05 14:41:08 · 503 阅读 · 0 评论 -
LeetCode(24)-Balanced Binary Tree
题目:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ原创 2016-04-05 17:02:38 · 1551 阅读 · 0 评论 -
LeetCode(25)-symmetric tree
题目:Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \3 4 4 3But the following is原创 2016-04-05 21:40:58 · 2337 阅读 · 0 评论 -
LeetCode(26)-Binary Tree Level Order Traversal II
题目:Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree {3,9,20,#,#,15,7},原创 2016-04-06 12:11:43 · 2807 阅读 · 0 评论 -
LeetCode(27)-Remove Element
题目Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The ord原创 2016-04-06 15:33:24 · 3015 阅读 · 0 评论 -
LeetCode(28)-Remove Duplicates from Sorted Array
题目:Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in place with c原创 2016-04-06 22:32:50 · 996 阅读 · 0 评论 -
LeetCode(29)-Plus One
题目:Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.思路:题意是用一个数组来表示一个非负的整数,范围是原创 2016-04-06 23:09:12 · 1236 阅读 · 0 评论 -
LeetCode(30)-Pascal's Triangle
题目:Given numRows, generate the first numRows of Pascal's triangle.For example, given numRows = 5,Return[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]思路 题意是要用数组表示帕斯卡三角形输入一个数值,显示相应行数的【原创 2016-04-07 12:38:11 · 5582 阅读 · 0 评论 -
LeetCode(31)-Factorial Trailing Zeroes
题目:Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.思路:题意是要求一个数字的阶乘,末尾有多少个0要求是对数级别的时间,所以考虑用递归分析一下,产生一个10,后面加0,找到所有的2*5,或者2的原创 2016-04-07 13:28:47 · 2619 阅读 · 0 评论 -
LeetCode(32)-Binary Tree Level Order Traversal
题目:LeetCode Premium SubscriptionProblems Pick OneMock ArticlesDiscussBookfengsehng 102. Binary Tree Level Order Traversal My Submissions QuestionEditorial SolutionTotal Accepted: 98313 Total S原创 2016-04-07 19:51:10 · 3255 阅读 · 0 评论 -
LeetCode(33)-Pascal's Triangle II
题目:Given an index k, return the kth row of the Pascal's triangle.For example, given k = 3,Return [1,3,3,1].思路:要求是返回帕斯卡某一行的数据设置两个list变量,pre和next,pre用来存储当前的最后的最后一行,next存储下一行,next赋值给pre(在这之前pre清空,之后nex原创 2016-04-07 21:37:09 · 3092 阅读 · 0 评论 -
LeetCode(34)-Palindrome Number
题目:Determine whether an integer is a palindrome. Do this without extra space.思路:求一个整数是不是回文树。负数不是,0是要求不适用额外的内存(变量还是可以的),利用求余,除以10,这样y = y×10+余树,比较y和输入值是否相等,判断是不是回文 - 代码:public class Solution { p原创 2016-04-07 22:10:38 · 2832 阅读 · 0 评论 -
LeetCode(35)-Path Sum
题目:Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree and sum =原创 2016-04-07 23:08:15 · 2914 阅读 · 0 评论 -
LeetCode(46)-Remove Nth Node From End of List
题目:Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linke原创 2016-04-11 22:55:57 · 3248 阅读 · 0 评论 -
LeetCode(47)-Reverse Bits
题目:Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011原创 2016-04-12 10:08:51 · 1199 阅读 · 0 评论 -
LeetCode(48)-Length of Last Word
题目:Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.If the last word does not exist, return 0.Note: A word is defined原创 2016-04-12 10:37:20 · 950 阅读 · 0 评论