
面试
Mark周末
这个作者很懒,什么都没留下…
展开
-
链表反转 迭代+递归实现 学习递归心得
链表反转 可以参考blog 链表翻转的图文讲解(递归和迭代两种实现)迭代实现:好懂Node* ReverseList(Node *head){ Node *p=head; Node *q=p->next; while(p->next!=NULL){ q=p->next; p->next=p->next->next; q->next=h...原创 2019-12-10 16:26:11 · 140 阅读 · 0 评论 -
字节跳动面试 输入两个值n和k,n表示我们有从1到n个整数,然后将这些整数都字符串化之后按字典排序,找出其中第K大。
题目:输入两个值n和k,n表示我们有从1到n个整数,然后将这些整数都字符串化之后按字典排序,找出其中第K大的。例如:n=15,k=5.那么1-15字符串化之后排序如下:1,10,11,12,13,14,15,2,3,4,5,6,7,8,9。其中第5大的就为13。求解: 限定n<100,求解一百以内的排序。思路:1,10,11,12,13,14,15,16,17,18,19,2,20,...原创 2019-12-10 13:48:45 · 1874 阅读 · 0 评论 -
有序数组平方以后不重复元素个数
给个有序数组,然后求元素平方后不重复的元素个数,例如[-10, -10, -5, 0, 1, 5, 8, 10]直接方法:int NotRep(int a[],int n){ int *b= new int[n]; int k=0; bool flag=false; for(int i=0;i<n;i++){ int temp=a[i]*a[i]; //a[i]**2 f...原创 2019-12-09 22:58:09 · 1017 阅读 · 1 评论 -
循环有序数组 二分查找算法 迭代实现
在 [4,5,9,23,1,2,3] 循环有序的数组中查找关键词 K。上次递归实现不是很好,就当是练习递归了,见blog代码如下:int FindK(int a[],int k,int n){ int high,low; high=n-1; low=0; while(high>low){ int mid=(high+low)/2; if(a[mid]>a[low]...原创 2019-12-09 21:51:26 · 185 阅读 · 0 评论 -
循环有序数组 二分查找算法 递归实现
int findK(int a[],int n,int k){ int l=n; int p=div(a,0,n-1); cout<<p<<endl; if(k>a[0]){ return divl(a,0,p-1,k); } else{ return divl(a,p,n-1,k); ...原创 2019-12-04 16:26:40 · 505 阅读 · 0 评论