六月四号算法和数据库

第五天:
算法:回文数:判断一个整数例如121,12021,首和尾是否相等,次首和次尾是否相等
一次类推
第一种方法:转为字符串再转字符逐个判断
问题:如何将整数转换为字符串比较
可以采用第一种Integer.toString()方法
class solution{
public boolean ishuiwen (int x){
String s = Integer.toString(x);
if(x>=0){
for(int i = 0;i<s.length()/2;i++){
if(s.charAt(i)!=s.charAt(s.length()-1-i)){return false;}}
return true;
}else{return}
}
}
第二种:半转(优化)
问题:就整数而言,两种情况不满足这个规律
第一种:小于0的整数
第二种:不等于0但是用它对10取余等于0
问题:我们如何反转后半部分的数字,类似于之前的数字反转的思想
先将这个数对10取余,再除以10,再取余。之后末尾数乘以10加上倒数第二个数
重复这个过程
问题:如何知道反转后的数字是原数字一半长度
当反转后数字比原始数字大
当原始数字数位为奇数时,会发现当反转后x==reveredNumber/10
当原始数字位数为偶数时,会发现反转后x=reveredNumber
class soluton{
public boolean ishuiwen (int x){
if(x<0||(x%10==0&&x!=0)){return false;}
int reveredNumber = 0;
while(x>reveredNumber){
reveredNumber = reveredNumber*10+x%10;
x/=10;}
return x==reveredNumber/10||x==reveredNumber;}

}


数据库:上升的温度
问题1:如何表示连续两天温度
利用SQL中的DateDiff函数计算时间差
例如:DataDiff(Weather.recordDate,W.recordDate)=1(相隔天数)表示
两个对象的时间差为1
问题2:如何寻找自己表中的对象判断比较
通过内连接表
创建一个Weather表的新对象W通过join和on关键词来比较
SELECT Weather.id AS 'Id' FROM Wheather
JOIN Weather W ON DateDiff(Weather.recordDate,W.recordDate)=1
AND Weather.Temperature>W.Temperature;

总结:

算法:回文数可以通过两种方法来判断:

第一种通过整数转为字符串,再转字符,通过一个for循环来比较

第二种半转整数,通过一个while语句实现

第一步:先根据要求判断出他的数值范围

第二步:while语句判断还没有反转的原始数据和反转后的数据比较大小,如果原始数据大,则进行

语句中通过类似于前面的整数反转题目,将整数反转,

当反转后的数的位数大于等于原始数据 前半部分

第三步:返回原始值与反转后值得比较

分两种情况第一种原始数据位数为奇数,那么反转后的数据比原始数据前半部分多一位,通过数据观察除以10就符合了

当原始数据时偶数时,就直接判断前半部分与反转后的数据是否相等

数据库:同一个表中高的温度

用于比较同意个表中的温度

也可以类似于java语言中的创建一个内连接对象,用DateDiff函数来计算两者天数之间的天数差

通过join on内连接来实现同意表中的两个id对象的比较

posted @   求知律己  阅读(46)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示