ctci(1)】的更多相关文章

1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 1.8 利用已知函数判断字符串是否为另一字符串的子串 2.1 从链表中移除重复结点 2.2 实现一个算法从一个单链表中返回倒数第n个元素 2.3 给定链表中间某结点指针,删除链表中该结点 2.4 求由两个链表结点组成的数之和 2.5 给定一个循环链表,实现一个算法返回这个环的开始结点 3.1 如何只用一个数组实现三个栈 3.2 实现一个栈,要求实现min函数以返回栈中的最小值 3.3 实现数据结构SetOf…
[链表] Q:Write code to remove duplicates from an unsorted linked list      FOLLOW UP      How would you solve this problem if a temporary buffer is not allowed? 题目:编码实现从无序链表中移除重复项.          如果不能使用临时缓存,你怎么编码实现? 解答: 方法一:不使用额外的存储空间,直接在原始链表上进行操作.首先用一个指针指向链…
[链表] Q:Implement an algorithm to find the nth to last element of a singly  linked list . 题目:找出链表的倒数第n个节点元素. 解答: 方法一:利用两个指针p,q,首先将q往链表尾部移动n位,然后再将p.q一起往后移,那么当q达到链表尾部时,p即指向链表的倒数第n个节点. node* find_nth_to_last(node* head,int n) { if(head==NULL || n<1) retu…
[链表] Q:Implement an algorithm to delete a node in the middle of a single linked list, given only access to that node EXAMPLE Input: the node ‘c’ from the linked list a->b->c->d->e Result: nothing is returned, but the new linked list looks like…
创建链表.往链表中插入数据.删除数据等操作,以单链表为例. 1.使用C语言创建一个链表: typedef struct nd{ int data; struct nd* next; } node; //初始化得到一个链表头节点 node* init(void){ node* head=(node*)malloc(sizeof(node)); if(head==NULL) return NULL; head->next=NULL; return head; } //在链表尾部插入数据 void i…
[字符串与数组] Q:Assume you have a method isSubstring which checks if one word is a substring of another Given two strings, s1 and s2, write code to check if s2 is a rotation of s1 using only one call to isSubstring (i e , “waterbottle” is a rotation of “e…
[字符串与数组] Q:Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column is set to 0. 题目:写一个算法,如果一个 MxN矩阵中某个元素为0,则将该元素所在的行.列都置为0. 解答: 方法一:错误的解法,思维误区.依次遍历二维数组(矩阵),遇到一个0,就将这个0所在的行和列全部置为0,咋看一下没问题,仔细一想不对啊,这样做后,很有可能操作完后,这个二维数…
[字符串与数组] Q:Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees Can you do this in place? 题目:假定一幅图像能用NxN的矩阵表示,每个像素是四字节.写一个算法将图像旋转90度,你能否在原地进行操作(也即不分配额外的存储空间)? 解答: 我们不知…
[字符串与数组] Q:Write a method to replace all spaces in a string with ‘%20’ 题目:写一个算法将一个字符串中的空格替换成%20 解答: 很直观的解法,首先统计出字符串中空格个数,然后分配新的内存空间,依次从头到尾复制原字符串到新字符串中,遇到空格,则复制%20这三个字符.还有没有其他更好点的方法呢?? char* replace(char* str){ int len=strlen(str); int spaceNum=0; int…
[字符串与数组] Q:Write a method to decide if two strings are anagrams or not 题目:写一个算法来判断两个字符串是否为换位字符串.(换位字符串是指组成字符串的字符相同,但位置不同) 解答: 方法一:假设为ascii2码字符串,那么可以分配两个256大小的int数组,每个数组用于统计一个字符串各个字符出现的次数,最后,比较这两个int数组,看是否每个元素都相同.时间复杂度为O(n). int anagrams1(char* str1,c…
[字符串与数组] Q:Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer NOTE: One or two additional variables are fine An extra copy of the array is not FOLLOW UP Write the test cases for this…
最小调整有序 题目描述 有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的.注意:n-m应该越小越好,也就是说,找出符合条件的最短序列. 给定一个int数组A和数组的大小n,请返回一个二元组,代表所求序列的起点和终点.(原序列位置从0开始标号,若原序列有序,返回[0,0]).保证A中元素均为正整数. 测试样例: [1,4,6,5,9,10],6 返回:[2,3] 先分别找到左边第一对逆序对与右边第一对逆序对,然后找出两个逆序对之间的最大值与最小值,然…
最长合成字符串 题目描述 有一组单词,请编写一个程序,在数组中找出由数组中字符串组成的最长的串A,即A是由其它单词组成的(可重复)最长的单词. 给定一个string数组str,同时给定数组的大小n.请返回最长单词的长度,保证题意所述的最长单词存在. 测试样例: ["a","b","c","ab","bc","abc"],6 返回:3 递归&备忘录. class LongestSt…
子串判断 题目描述 现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串. 给定一个string数组p和它的大小n,同时给定string s,为母串,请返回一个bool数组,每个元素代表p中的对应字符串是否为s的子串.保证p中的串长度小于等于8,且p中的串的个数小于等于500,同时保证s的长度小于等于1000. 测试样例: ["a","b","c","…
最大子方阵 题目描述 有一个方阵,其中每个单元(像素)非黑即白(非0即1),请设计一个高效算法,找到四条边颜色相同的最大子方阵. 给定一个01方阵mat,同时给定方阵的边长n,请返回最大子方阵的边长.保证方阵变长小于等于100. 测试样例: [[1,1,1],[1,0,1],[1,1,1]],3 返回:3 要看清题目,题目说的是四条边同一种颜色,不是四条边都是1.想法就是记录每个点右侧与下侧的连续0或1的个数,这样在给定一个左上角坐标与边长时,可以以O(1)的时间判断是否构成矩形.总的时候复杂度…
下一个较大元素 题目描述 现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素. 给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,若不存在则为-1.保证数组中元素均为正整数. 测试样例: [11,13,10,5,12,21,3],7 返回:[13,21,12,12,21,-1,-1] 单调栈! class NextElement { public: vector<int> findNext(vector<int> A, in…
单词最近距离 题目描述 有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值). 给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词x和y.请返回两个单词的最短距离.保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于1000. class Distance { public: int getDistance(vector<string> arti…
双栈排序 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. 给定一个int[] numbers(C++中为vector<int>),其中第一个元素为栈顶,请返回排序后的栈.请注意这是一个栈,意味着排序过程中你只能访问到第一个元素. 测试样例: [1,2,3,4,5] 返回:[5,4,3,2,1] class TwoStacks { public: vector<int> twoStack…
1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 1.8 利用已知函数判断字符串是否为另一字符串的子串 2.1 从链表中移除重复结点 2.2 实现一个算法从一个单链表中返回倒数第n个元素 2.3 给定链表中间某结点指针,删除链表中该结点 2.4 求由两个链表结点组成的数之和 2.5 给定一个循环链表,实现一个算法返回这个环的开始结点 3.1 如何只用一个数组实现三个栈 3.2 实现一个栈,要求实现min函数以返回栈中的最小值 3.3 实现数据结构SetOf…
// // main.cpp // proj1 // // Created by Yuxin Kang on 8/24/14. // Copyright (c) 2014 Yuxin Kang. All rights reserved. // #include <iostream> #include <cstring> #include <algorithm> #include <map> using namespace std; //for cin and…
Yet Another Source Code for LintCode Current Status : 232AC / 289ALL in Language C++, Up to date (2016-02-10) For more problems and solutions, you can see my LintCode repository. I'll keep updating for full summary and better solutions. See cnblogs t…
2.3 实现一个算法,删除单向链表中间的某个结点,假设你只能访问该结点.(即你不知道头结点) 这个问题的关键是你只有一个指向要删除结点的指针,如果直接删除它,这条链表就断了. 但你又没办法得到该结点之前结点的指针,是的,它连头结点也不提供.在这种情况下, 你只能另觅他径.重新审视一下这个问题,我们只能获得从c结点开始后的指针, 如果让你删除c结点后的某个结点,那肯定是没问题的.比如删除结点d,那只需要把c 的next指针指向e,然后delete d就ok了.好的,如果我们就删除结点d,我们将得到…
一. ORA-600 概述 Errorsof the form ORA-600 are called internal errors. This section clarifies themisunderstanding of ORA-600s being synonymous with corruption. An ORA-600 usually has up to five arguments associated withit which gives Oracle support and…
实现一个算法来删除单链表中间的一个结点,仅仅给出指向那个结点的指针. 样例: 输入:指向链表a->b->c->d->e中结点c的指针 结果:不须要返回什么,得到一个新链表:a->b->d->e 解答 这个问题的关键是你仅仅有一个指向要删除结点的指针,假设直接删除它,这条链表就断了. 但你又没办法得到该结点之前结点的指针,是的,它连头结点也不提供.在这样的情况下, 你仅仅能另觅他径.又一次审视一下这个问题,我们仅仅能获得从c结点開始后的指针, 假设让你删除c结点后的…
原版内容转自:CTCI面试系列——谷歌面试官经典作品 | 快课网 此系列为C#实现版本 谷歌面试官经典作品(CTCI)目录   1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 1.8 利用已知函数判断字符串是否为另一字符串的子串 2.1 从链表中移除重复结点 2.2 实现一个算法从一个单链表中返回倒数第n个元素 2.3 给定链表中间某结点指针,删除链表中该结点 2.4 求由两个链表结点组成的数之和 2.5 给定一个循环链表,实现一个算法返回这个环的开始结…
本文仅以个人经历和个人观点作为参考.如能受益,不胜荣幸. 本文会不断的修正,更新.希望通过大家的互动最后能写出一份阅者受益的文章. 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改. 小马过河,大牛觉得轻松,松鼠觉得可怕. 湾区求职经验分享:我是如何通过三个月努力拿到Google offer,欢迎踊跃提问! 有朋友指出“三个月”是不是哗众取宠博取眼球.其实我确实是实话实说(详见下文)三个月.我只是想分享如何高效的做题,让大家少走弯路.那些刷五遍十遍的朋友,在我看来是走了弯路的,如果大家都能一两…
Given two 32-bit numbers, N and M, and two bit positions, i and j. Write a method to set all bits between i and j in N equal to M (e g , M becomes a substring of N located at i and starting at j) Notice In the function, the numbers N and M will given…
试验步骤:两步走,第一步修改Hercules的配置文件 在hercules 配置文件末尾加上    0E20-0E21 CTCI     -n 0A-00-27-00-00-00  192.168.56.99              0.0.0.0 --------------格式1-------------------设备编号{必须2个成对}  CTCI  -n 网卡mac地址  zos主机ip地址  pc机的ip地址(当-n指定为mac地址时必须为{0.0.0.0} -----------…
http://jasonjl.me/blog/2015/03/30/practical-programming-practice-services/ Codewars, Leetcode, Hackerrank. Online Judges Reviews written March 30, 2015 in algorithms, programming, review Sometimes the projects you work on just aren’t stimulating enou…
建立逻辑路径 create or replace directory dumpdir as 'c:\'; grant read,write on directory dumpdir to scott; 倒入/出 expdp newdr/123456@hncrm directory=test dumpfile=test_score1.dmp logfile=tes t.log parallel=2 schemas=newdr 错误 ORA-00054 resource busy and acqui…