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;
    }




     

  • 相关阅读:
    详解Bootstrap进度条组件
    详解Bootstrap缩略图组件及警示框组件
    详解Bootstrap表单组件
    spring注解-@Autowired。@Resource。@Service
    spring注解-@Transactional事务几点注意
    17_8_9 Spring 注入
    MySQL常用语句
    Mysql 远程登录及常用命令
    数据库(外键及其约束理解)
    C语言队列(数组内核)
  • 原文地址:https://www.cnblogs.com/byfei/p/3112377.html
Copyright © 2011-2022 走看看