初识面试中的算法题

在面试过程中,常常被要求手撕代码,作者作为测试经理,也经常被手撕代码。
手撕代码的内入无非是对字符串、数组、元组、字典进行操作。
第一题:取值:
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= key1
4、数组的运算
lst=[7,8]
a=15
判断如果a减去lst中的任意值后,结果与lst中任意值相等,返回true,否则返回fasle
for i in range(len(lst)):
if a-lst[i] in lst:
return true
else:
return fasle
暂时更新到这里,后续持续更新python的算法

原文地址:http://blog.51cto.com/13025170/2299417

时间: 2024-11-08 09:35:02

初识面试中的算法题的相关文章

包建强的培训课程(5):面试中的算法题

Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈<「『[[[〝﹙﹛﹝$(.[{£¥ !%),.:;>?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶.."〉>」』]]]〞︶︺︾﹀﹄﹚﹜﹞!"%'),.::?]`|}-¢ /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0;

程序员如何快速准备面试中的算法

前言 我决定写篇短文,即为此文.之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法.尽管在微博上简单梳理过,如下图所示: 但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料. 备战面试中算法的五个步骤 总体来说,备战面试中的算法,分为五个步骤,如下: 1.首选你得确保自己已经掌握好一门编程语言 如果是C的话,推荐Dennis M. Ritchie & Brian W. Kernighan著的<C程序设计语言>,和<

程序员如何快速准备面试中的算法 - 结构之法

准备面试.学习算法,特别推荐最新出版的我的新书<编程之法:面试和算法心得>,已经上架京东等各大网店 前言 我决定写篇短文,即为此文.之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法.尽管在微博上简单梳理过,如下图所示: 但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,继而推荐一些相关的书籍或资料.顺便也供节后跳槽.3月春季招聘小高潮.及6月毕业找工作的朋友参考. 备战面试中算法的五个步骤 对于立志进一线互联网公司,同时不满足

前端面试的一道算法题

(使用canvas解答) 下面说一个跟前端有点相关并且有点趣的一道算法题. 题目: 平面上有若干个不特定的形状,如下图所示.请写程序求出物体的个数,以及每个不同物体的面积. 分析 想要知道有多少个图形,想到的就是先获取图片中的每一个像素点然后判获取像素点的背景颜色(RGBA).想要获得图片中的每一个像素点,那就可以联想到使用h5的canvas.如下: 菜鸟教程中canvas的getimagedata方法http://www.runoob.com/tags/canvas-getimagedata.

面试中常见算法1

Problem 1 : Is it a loop ? (判断链表是否有环?) Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link list includes a loop by using O(n) time and O(1) space

用ES6巧妙的解决传统面试中的算法小问题!

最近自己也在准备面试,在复习算法的时候,机智的用了一波ES6.一起来瞧瞧吧! 1.数组的去重 var arr=str.split(''); for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ arr.splice(j,1); // arr.length-=1;删完长度自动减1 j--; console.log(arr) } } } 用两层循环来做的话,好像麻烦了点哦.好像ES

数据结构笔记02:Java面试必问算法题

1. 面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的栈,要求min.push.pop.的时间复杂度都是O(1) (6)判断栈的push和pop序列是否一致 2. 具体分析: (1)栈的创建: 我们接下来通过链表的形式来创建栈,方便扩充. 代码实现: 1 public class Stack { 2 public Node head; 3 public

Java面试必问算法题

面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的栈,要求min.push.pop.的时间复杂度都是O(1) (6)判断栈的push和pop序列是否一致 1.栈的创建: 我们接下来通过链表的形式来创建栈,方便扩充. 代码实现: public class Stack { public Node head; public Node current; //方法

常见面试中的算法解法

1.替换空格 解法:如果通过直接遍历str,找到其中的空格就进行替换,这样做时间复杂度则为O(n2),那么我们得想到优化这个替换过程,我们可以先遍历str得到有多少个空格需要替换,然后从后向前进行遍历这个str进行替换. 2.从尾到头打印链表 解法一:从头遍历链表,将遍历结果依次存进一个栈中,然后再遍历这个栈,就可以得到这个链表从尾到头每个节点的值 解法二:我们采取递归,代码如下. 3.用两个栈实现队列 栈的特点是后进栈先出,队列是先进栈先出.那么如果用两个栈实习的队列的添加和删除 a->b