尝试用不同语言写简单题的过程中的一些小发现

Python:

python2中的sort函数是允许传入cmp函数的

1 def comp(x, y):
2     return x - y
3 a = [3, 2, 1]
4 a.sort(comp)

与我们常用的c++的cmp函数类似

但是python3中取消了cmp函数的支持,sort如下

sorted(iterable,key=None, reverse=False)

key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None 。

1 def comp(x):
2     return x
3 a = [3, 2, 1]
4 a.sort(comp)

所以python3中用这种写法实现和上面代码一样的功能

Java:

HashMap<K, V>中K和V必须是具有hashCode方法的类,所以

HashMap<int, int> hMap = new HashMap<int, int>();

这种写法是会报错的,int没有hash方法,改为

HashMap<Integer, Integer> hMap = new HashMap<Integer, Integer>();

即可。int类型是可以直接隐式转换成Integer类型的

Scala(吐槽cnblog的插入代码都还不支持scala):

之前没有深入了解....帮人写完作业就没有继续探究这门语言了...

for循环是不能直接支持break和continue语句的,需要借助breakable

输出0-4可以用以下方式实现

1 breakable {
2   for (i <- 0 to 9) {
3     println(i)
4     if (i == 4) break
5   }
6 }

输出小于10的非负偶数

1 for (i <- 0 to 9) {
2   breakable {
3     if (i % 2 == 1) break
4     println(i)
5   }
6 }

原文地址:https://www.cnblogs.com/ytytzzz/p/9129489.html

时间: 2024-08-06 17:33:11

尝试用不同语言写简单题的过程中的一些小发现的相关文章

C语言图形库简单对比及EGE库的安装小手册

近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边倒地不推荐.不过其实Turbo C也出了for Win 7/8/10的版本了,试着下载安装,发现需要微软的一些DLL,于是就没有继续了.有兴趣的朋友可以试试:https://turboc.codeplex.com/ 2. SDL是个大块头,似乎功能很多很强大,以下提供几个连接,供有兴趣的朋友钻研:

C语言考试第一题详细过程

1.计算 ,并输出其结果. 思路是先设计一个函数计算阶乘,再用循环,逐个求和. #include<stdio.h> int mul(int n) { int num,i; num=1; for(i=1;i<=n;i++) num=num*i; return(num); } void main() { int i,sum=0; for(i=1;i<=10;i++) sum+=mul(i); printf("The sum is %d\n",sum); } 这个代码

ACM做题过程中的一些小技巧

1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long long或__int64型(两个下划线__). 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数. printf("%I64d",a); printf("%lld",a); 3.O

Javascript基础练习之实现C语言经典程序题

前言: 最近在学习Javascript语言,看到网上很多都是在介绍Javascript如何解决网页上问题的代码,所以想另辟蹊径,用Javascript代码来实现C语言经典程序题.当然,这些C语言程序题也是比较简单,主要想通过Javascript语言实现,起到语法练习作用,也想来对比一下C语言和Javascript语言实现的相同点和不同点,从而巩固记忆,加强学习效果!!! 一.C语言经典程序题1 1. 题目描述: 马克思的手稿中有这样一道有趣的数学题:有30个人,其中有男人,女人,小孩.他们在一家

用C语言写解释器(一)——我们的目标

声明 为提高教学质量,我所在的学院正在筹划编写C语言教材.<用C语言写解释器>系列文章经整理后将收入书中"综合实验"一章.因此该系列的文章主要阅读对象定为刚学完C语言的学生(不要求有数据结构等其它知识),所以行文比較罗嗦,请勿见怪.本人水平有限,如有描写叙述不恰当或错误之处请指教!特此声明. 起因 近期,我们学院老师联系我,希望我能提供一段用 C 语言编写的 BASIC 解释器,用于 C 语言课程设计教学.我前段时间也正好着迷于"语言"本身,本就有打算写

C语言程序设计做题笔记之C语言基础知识(上)

C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++)的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1)以下

C语言程序设计做题笔记之C语言基础知识(下)

C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++) 的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1

C语言的那些题(一)

最近一直在学习C语言,于是就打算把自己学习过程中做的C语言的题记录下来,现在写到个人博客当中,供大家阅读.由于鄙人初学C语言,若本人写的程序有问题,请大家不吝赐教.若喷,请深喷.声明一点,所写的程序全是使用Xcode,未在其他开发工具中测试. 首先,贴上一道简单的题,题目要求:编制一个完成两个数四则运算程序.如:用户输入34+56则输出结果为90.00,要求运算结果保留2位有效小数,用户输入时将2个运算数以及运算符都输入,根据运算符求结果. 实现代码如下: float a = 0, b = 0;

JAVA调用C语言写的SO文件

JAVA调用C语言写的SO文件 因为工作需要写一份SO文件,作为手机硬件IC读卡和APK交互的桥梁,也就是中间件,看了网上有说到JNI接口技术实现,这里转载了一个实例 1 // 用JNI实现 2 // 实例: 3 4 // 创建HelloWorld.java 5 class HelloWorld 6 { 7 private native void print(); 8 public static void main(String[] args) 9 { 10 new HelloWorld().p