zoukankan      html  css  js  c++  java
  • 谷歌笔试1

    1:给定三个整数a,b,c实现函数int median(int a,int b,int c),返回三个数的中位数,不可以使用sort,要求整数操作(比较,位运行,加减乘除)次数尽量少,并分析说明程序最坏和平均情况下使用的操作次数

    #include <stdio.h> 
    #include <iostream>
    using namespace std;
    
    int median(int a,int b,int c)
    {
    	int abMax = (a+b + abs(a-b))/2;
    	int acMax = ((a+c) + abs(a-c))/2;
    
    	if(abMax != acMax)
    		return abMax < acMax ? abMax:acMax;
    	else
    		return ((b+c) +abs(b-c))/2;
    }
    
    int main()
    {
    	int a = 1;
    	int b = 2;
    	int c = 3;
        cout<<median(a,b,c);
    	getchar();
    	return 0;
    }
    

    2:给定一个key(只含有ASCII编码的小写英文字母),例如kof,然后对input的string(只含有ASCII编码的小写英文字母)利用这个key进行排序,顺序是:先按照key中的字符顺序,然后对key中不包含key的字符,按a-z排序

    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    
    char *SortKiy(char *str,char *key)
    {
    	sort(str,str+strlen(str));
    	int flag=0;
    	for(int i=0;i<(int)strlen(key);i++)
    	{
    		for(int j=0;j<(int)strlen(str);j++)
    		{
    			if(key[i]==str[j])
    			{
    				for(int k=j;k>flag;k--)
    				{
    					str[k]=str[k-1];
    				}
    				str[flag]=key[i];
    				++flag;
    			}
    		}
    	}
    	return str;
    }
    
    int main()
    {
    	char key[4]="kof";
    	char str[50]="wqtewqtewkwetiowoweff";
    	cout<< SortKiy(str,key)<<endl;
    	getchar();
    	return 0;
    }




     

  • 相关阅读:
    Xargs
    录制终端会话-script--查找find
    命令之乐-cat
    Linux_shell编程--比较与测试
    线程进程
    计算机网络基础
    python基础-列表相关
    初学Python
    numpy 基本的数组统计方法
    python 操作mysql 入门
  • 原文地址:https://www.cnblogs.com/byfei/p/3112377.html
Copyright © 2011-2022 走看看