题目1:写一段代码,求出数列{1,2,2,3,3,3,4,4,4,4,5,5,5,5...n},第169的数字,n的大小为10^18,比如输入169:输出的数为18思考:数列的规律是到几,这个数字就出现几次,所以可以采用循环输入数列,求169的数字,可以用求数组下标的方式来获得,以下是代码public static void main(String[] args) {long l = 1;
//使用双循环写出这个数列,将数列的值添加进集合里ArrayList list = new ArrayList();for (; l < Math.pow(10,18); l+...
【070-Set Matrix Zeroes(矩阵置零)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. 题目大意 给定一个m*n的矩阵,如果某个位置是0。将对应的行和列设置为0。 解题思路 先对矩阵进行扫描,标记要进行置0的行和列,对要进行置0的行在第0列上进行标记,对置0的列在第0行上进行标标记。同时还要两变量记录...
从右上角开始搜索,当前的元素map[x][y]和要搜索的数n有如下可能:map[x][y]==n --> 返回truemap[x][y]>n --> 向左移动map[x][y]<n --> 向下移动 搜索过程例子: AC代码:import java.util.Scanner;publicclass Main {publicstaticvoid main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();int k=sc.nextInt();int x[][]=newint[n][m];for(int i=0;i<n;i++){for(int j=0;j<m;j++){...
1 链表反转例1:LeetCode 206。本题虽然简单但却是众多公司的面试问题。反转前后的图示如下: 在反转的过程中主要是依据指针之间的移动,如下图所示:class Solution {public ListNode reverseList(ListNode head) {ListNode prev = null;while (head != null) {//1 每次修改前先把head.next备份否则head修改后找不到head.nextListNode nextTemp = head.next; //2 修改head.next temp用来保存的是上次头节点的信息head.next = prev...
1、变换A和B的值// 1.中间变量void swap(int a, int b) {int temp = a;a = b;b = temp;
}// 2.加法void swap(int a, int b) {a = a + b;b = a - b;a = a - b;
}// 3.异或(相同为0,不同为1. 可以理解为不进位加法)void swap(int a, int b) {a = a ^ b;b = a ^ b;a = a ^ b;
}2、求最大公约数/** 1.直接遍历法 */int maxCommonDivisor(int a, int b) {int max = 0;for (int i = 1; i <=b; i++) {if (a % i == 0 && b % i == 0) {m...
在面试过程中,常常被要求手撕代码,作者作为测试经理,也经常被手撕代码。手撕代码的内入无非是对字符串、数组、元组、字典进行操作。第一题:取值:1、从字符串及元组中取值str1 = "abcd"stra, strb, strc, strd=str1结果:"a","b","c","d"2、从数组中取值list1 = [a,b,c,d]lista = list1[0],以此类推,中括号中的数字是数组的下标,从0开始计数3、从字典中取值dic = {key1:value1,key2:value...}dic1= key14、数组的运算lst=[7...
求职季,真的会让一个人变得有些不一样吧,比如我,对于一个菜鸟来说,最近一段时间焦虑不安外加有点自闭...前段时间在校内网上看到了陌陌科技内推计算机视觉算法工程师和机器学习算法工程师的消息,抱着试试的心态整理了一份简历按照提供的邮箱投出去了,我想这次应该又是石沉大海了吧,谁想在一周前闷热的一天在嘈杂的餐厅接到了陌陌科技HR的电话,一周后的周五下午4点在西安的一家咖啡馆参加面试。我问清了时间地点并道谢了HR后...
2015年3月4日 25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马将马分成A、B、C、D、E五组。第1-5次比赛:各组分别进行比赛,决出各组名次A1、A2、A3、A4、A5,B1、B2、B3、B4、B5,。。。。。。。。。。E4、E5。第6次比赛:A1、B1、C1、D1、E1,第一名是跑的最快的。第7次比赛:将上次第一名所在组的下一号马再和剩余的4匹1号马比赛,第一名是跑的第二快的马,由于只有4个名额,所以...
前言面试以及考试过程中必会出现一道排序算法面试题,为了加深对排序算法的理解,在此我对各种排序算法做个总结归纳。1、冒泡排序算法(BubbleSort)1.1 算法描述(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。(3)针对所有的元素重复以上的步骤,除了最后一个。(4)持续每次对越来越少的元素重复上面的步...
【057-Insert Interval(插入区间)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initially sorted according to their start times. Example 1: Given intervals [1,3],[6,9], insert and merge [2,5] in as [1,5],[6,9]. Example 2: Given [1,2],[3,5]...
【024-Swap Nodes in Pairs(成对交换单链表的结点)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 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 modify the values in the list, only nodes itself can be changed. 题目大意 给定一...
九章算法官网-原文网址http://www.jiuzhang.com/problem/34/题目有一个仅有0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等解答如果将0看做-1,则我们要找的子串是最长的和为0的子串。这种子串求和的问题,一般采用前缀和的方法来解决。用Sum[i]代表前i个数的和,问题的模型转换为,找到i和j,满足Sum[i] 与Sum[j]相等,且|i-j|最大。使用Hash表作为辅助数据结构,Hash表中记录了获得某个Sum时最小的i。从左到...
【114-Flatten Binary Tree to Linked List(二叉树转单链表)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a binary tree, flatten it to a linked list in-place. For example, Given 1/ 2 5/ \ 3 4 6 The flattened tree should look like: 1 2 3 4 5 6题目大意 给定一棵二叉树,将它转成单链表,使用原地算法。 解题思...
转载自:http://blog.csdn.net/sailor_8318/article/details/30543831~n无序数组时间复杂度为O(n)排序有1,2,....一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.(华为)分析:数组的特点是值和下标满足一定的关系,以此作为交换的终止条件。但这个算法的时间复杂度如何证明是O(n)呢? void sortOnorder1(int array[], int len){ int temp; for(int ...
我的新书《编程之法:面试和算法心得》已经上市经过一天一天、一月一月、一年一年漫长的等待,我的新书终于上架开卖了!异步社区:http://www.epubit.com.cn/book/details/4051。互动出版网(7.7折且包邮且移动端首单再减5元):http://product.china-pub.com/4880112。京东预售:http://item.jd.com/11786791.html,很快就能抢购。1 新书上市7天10月13日晚上,拿到《编程之法》第一本样书10月14日下午三点半,异步社区首发开卖:h...