石博文博客 - 程序设计
  • 来源: 石博文博客 | 浏览: 2761 | 评论: 2 | 时间: 2017-02-24 03:14:06
    Qt 中经常使用 Model-View 模型来创建列表等视图,这样设计程序结构的好处是能将数据部分和界面完全分离。其中 Model 负责数据的准备与加工,View 提供了具体的对外显示的 Widget,而 Delegate 用作在 View 上绘图的模块。而对于现代的图形程序设计,对动画效果的要求更多,需要这三个模块配合来创建动画效果。
  • 来源: 石博文博客 | 浏览: 1823 | 评论: 2 | 时间: 2017-01-24 06:52:50
    在 Leetcode 上看到一个题(原题地址),最长无重复子串。当时看的第一眼觉得或许可以用动态规划,今天空闲时间实现了一下。
  • 来源: 石博文博客 | 浏览: 2155 | 评论: 4 | 时间: 2016-05-28 06:03:13
    一系列平方数组成的排列,所有的数恰好将0~9使用了一遍,比如 0,1, 4, 9, 872356,或者4, 9, 361, 87025,或者 1436789025。它们分别是一系列平方数组成的排列,而且这个排列恰好把数字 0~9 使用了一遍,现在要编程求出所有的平方数数列。
  • 来源: 石博文博客 | 浏览: 2025 | 评论: 0 | 时间: 2016-05-22 09:00:14
    素数(也叫质数)是个神奇的东西,它的定义是“如果一个数只有 1 和它本身两个约数,那么它就是一个素数”。而在各种程序算法中,也经常会出现素数的身影。那么我们来讨论一下常用的那些素数生成的小算法。
  • 来源: 石博文博客 | 浏览: 2489 | 评论: 3 | 时间: 2016-03-01 12:58:20
    这九个数字组成一个分数,其值恰好为1/3,如何组法?这是一个第一眼看上去非常简单的问题,但编程起来还是需要一点点技巧的。
  • 来源: 石博文博客 | 浏览: 2962 | 评论: 0 | 时间: 2016-01-11 09:15:30
    QComboBox 的弹出列表如果非常长的话,会在上下两端加一个箭头来表示还有内容,但是因为没有对应的 ObjectName 这两个箭头的风格很不好调整,需要根据它的 ClassName 获取到对象之后,采用事件监听的方式捕获它的绘图方法。以 QComboBox 为例,可以采用这种方式去画Qt控件中所有的子面板,子对象,方便个性化修改样式。
  • 来源: 石博文博客 | 浏览: 3588 | 评论: 1 | 时间: 2015-11-30 12:07:03
    准确的说,是“最后一个可视的主窗口被关闭时,UI线程将结束”。今天在调试一个程序的时候,程序会弹出一个 QFileDialog 供用户选择文件,但是发现当这个 Dialog 执行返回之后,整个程序都退出了,查阅了资料后发现,是 Qt 特意设置的。
  • 来源: 石博文博客 | 浏览: 2610 | 评论: 3 | 时间: 2015-06-06 12:56:24
    Farmer John's cows enjoy reading books, and FJ has discovered that his cows produce more milk when they read books of a somewhat intellectual nature. He decides to update the barn library to replace all of the cheap romance novels with textbooks on algorithms and mathematics. Unfortunately, a shipment of these new books has fallen in the mud and their ISBN numbers are now hard to read.
  • 来源: 石博文博客 | 浏览: 2447 | 评论: 1 | 时间: 2015-06-06 12:18:14
    Let x1, x2, ..., xm be real numbers satisfying the following conditions: POJ - 3066
    for some integers a and b (a > 0).
    Determine the maximum value of x1^p + x2^p + … + xm^p for some even positive integer p.
  • 来源: 石博文博客 | 浏览: 3380 | 评论: 1 | 时间: 2015-03-29 09:29:13
    Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
  • 来源: 石博文博客 | 浏览: 2797 | 评论: 2 | 时间: 2015-02-14 03:46:36
    给两组数,各n个。
    请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。
    例如两组数分别为:1 3 -5和-2 4 1
    那么对应乘积取和的最小值应为:
    (-5) * 4 + 3 * (-2) + 1 * 1 = -25
  • 来源: 石博文博客 | 浏览: 4455 | 评论: 0 | 时间: 2015-02-08 09:52:55
    给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。
  • 来源: 石博文博客 | 浏览: 4871 | 评论: 1 | 时间: 2015-01-21 13:20:00
    任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0。现在约定幂次用括号来表示,即a^b表示为a(b)此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示)3=2+2^0。所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=2^10+2^8+2^5+2+1 所以1315最后可表示为:2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)。